【发布时间】:2015-03-25 06:48:37
【问题描述】:
我正在尝试创建一个 pdf 文件,其中显示名称、站号和票价等内容。该代码可以完美编译并运行,但是当我尝试在其中添加图像时,它创建的 pdf 文件为 0 kb 并且已损坏。我在这里被困了几个小时,仍然找不到我的代码有什么问题。我只想在我的 pdf 文件上添加图像。任何帮助,将不胜感激。谢谢。
public class PDFDisplay {
public static void generatePDF(PassengerBean passengerBean) throws DocumentException, MalformedURLException, IOException {
Document document = new Document();
try {
final Chunk NEWLINE = new Chunk("\n");
PdfWriter.getInstance(document,
new FileOutputStream("C:\\sample.pdf"));
document.open();
Image img = Image.getInstance("image/mrt.jpg");
document.add(new Paragraph("Sample 1: This is simple image demo."));
document.add(img);
String hr = "-----------------------------------------------------------";
String spacer = " ";
String name = "Passenger Name: " + passengerBean.lname + "," + " " + passengerBean.fname;
String dest = "Destination: " + passengerBean.dest + " STATION";
String stopno = passengerBean.stop;
double fare = passengerBean.fare;
String fare1 = "Fare: PHP" + " " + String.valueOf(fare);
String ccnum = "CREDIT CARD NUMBER: " + " " + "************" + passengerBean.ccnum.substring(Math.max(0, passengerBean.ccnum.length() - 4));
Paragraph para8 = new Paragraph(32);
para8.setSpacingBefore(100);
para8.setSpacingAfter(10);
para8.add(new Chunk(spacer));
document.add(para8);
Paragraph para9 = new Paragraph(32);
para9.setSpacingBefore(100);
para9.setSpacingAfter(10);
para9.add(new Chunk(hr));
document.add(para9);
// Setting paragraph line spacing to 32
Paragraph para1 = new Paragraph(32);
para1.setSpacingBefore(5);
para1.setSpacingAfter(10);
para1.add(new Chunk(name));
document.add(para1);
Paragraph para2 = new Paragraph();
para2.setSpacingAfter(10);
para2.add(new Chunk(dest));
document.add(para2);
Paragraph para3 = new Paragraph();
para3.setSpacingAfter(10);
para3.add(new Chunk(stopno));
document.add(para3);
Paragraph para4 = new Paragraph();
para4.setSpacingAfter(10);
para4.add(new Chunk(fare1));
document.add(para4);
Paragraph para5 = new Paragraph();
para5.setSpacingAfter(10);
para5.add(new Chunk(ccnum));
document.add(para5);
document.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
【问题讨论】:
-
您是否在 IDE 调试器中一次单步执行代码?你发现了什么?
-
@JimGarrison,是的,我已经尝试过调试器。似乎没有什么问题,或者我只是错过了一些东西。
标签: pdf pdf-generation itext itextpdf