【发布时间】:2012-02-12 02:15:14
【问题描述】:
如何使用 itext 在 pdf 中添加图像和设计页眉、页脚? 我已经写了这个,但是找不到异常文件。
Image image = Image.getInstance("\resources\image.gif");
谢谢
【问题讨论】:
标签: java exception pdf pdf-generation itext
如何使用 itext 在 pdf 中添加图像和设计页眉、页脚? 我已经写了这个,但是找不到异常文件。
Image image = Image.getInstance("\resources\image.gif");
谢谢
【问题讨论】:
标签: java exception pdf pdf-generation itext
我使用以下代码从类路径插入图像。当您需要包含无法从公共 url 访问的图像时,通常很有用。
Image img = Image.getInstance(getClass().getClassLoader().getResource("MyImage.jpg"));
就我而言,我使用的是 maven,所以我将 MyImage.jpg 放在 src/main/resources 中
【讨论】:
Image img = Image.getInstance(MyClassName.class.getResource("/check_mark.jpg"));
看看这个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);
}
}
}
【讨论】: