2012-01-17 56 views
3

itextを使用して画像とデザインヘッダ、フッターをpdfに追加するには? これを書いていますが、例外ファイルが見つかりません。itextを使用して画像ファイルをPDFに挿入するときにファイルが見つかりません

Image image = Image.getInstance("\resources\image.gif"); 

おかげ

+0

は私がプロジェクトの下に置かれている画像を設定することができますどのような方法で、ODへの絶対PAH –

答えて

2

このexample

import java.io.*; 
import com.lowagie.text.*; 
import com.lowagie.text.pdf.*; 

public class CreatePDF{ 
    public static void main(String arg[])throws Exception{ 
     try{ 
       Document document=new Document(); 
       FileOutputStream fos=new FileOutputStream("C:/header-footer.pdf"); 
       PdfWriter writer = PdfWriter.getInstance(document, fos); 
       document.open(); 
       Image image1 = Image.getInstance("C:/image1.jpg"); 
       Image image2 = Image.getInstance("C:/image2.jpg"); 

       image1.setAbsolutePosition(0, 0); 
       image2.setAbsolutePosition(0, 0); 

       PdfContentByte byte1 = writer.getDirectContent(); 
       PdfTemplate tp1 = byte1.createTemplate(600, 150); 
       tp1.addImage(image2); 

       PdfContentByte byte2 = writer.getDirectContent(); 
       PdfTemplate tp2 = byte2.createTemplate(600, 150); 
       tp2.addImage(image1); 

       byte1.addTemplate(tp1, 0, 715); 
       byte2.addTemplate(tp2, 0, 0); 

       Phrase phrase1 = new Phrase(byte1 + "", FontFactory.getFont(FontFactory.TIMES_ROMAN, 7, Font.NORMAL)); 
       Phrase phrase2 = new Phrase(byte2 + "", FontFactory.getFont(FontFactory.TIMES_ROMAN, 7, Font.NORMAL)); 

       HeaderFooter header = new HeaderFooter(phrase1, true); 
       HeaderFooter footer = new HeaderFooter(phrase2, true); 
       document.setHeader(header); 
       document.setFooter(footer); 
       document.close(); 
       System.out.println("File is created successfully showing header and footer."); 
       } 
       catch (Exception ex){ 
        System.out.println(ex); 

       } 
      } 
     } 
+0

てみてください/resources/images/.jpg? – sudo

+0

は、ドライブ名から始まる絶対パスを使用するか、検索の開始場所に応じて相対パスを使用することで枯渇します。 – CloudyMarble

0

を見て、私はクラスパスから画像を挿入するには、次のコードを使用していました。通常、公開URLからアクセスできない画像を含める必要がある場合に便利です。私の場合は

Image img = Image.getInstance(getClass().getClassLoader().getResource("MyImage.jpg")); 

、私はMavenを使用するので、私はSRC /メインにMyImage.jpgを入れる/リソース

関連する問題