我尝试合并单个PDF文件中目录中的多个图像。我已经从itext网站构建了一个示例代码,但问题是图像没有正确添加到PDF中,只是右边可以看到每个图像的边框:
private void generateMultiPageTiff(String path) throws Exception {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(
"C:\\Users\\Desktop\\out.pdf"));
document.open();
Paragraph p = new Paragraph();
File files[] = new File(path).listFiles();
for (int ii = 0; ii < files.length; ii++) {
Image img = Image.getInstance(files[ii].getAbsolutePath());
img.setAlignment(Image.LEFT);
img.setAbsolutePosition(
(PageSize.POSTCARD.getWidth() - img.getScaledWidth()) / 2,
(PageSize.POSTCARD.getHeight() - img.getScaledHeight()) / 2);
p.add(new Chunk(img, 0, 0, true));
document.add(p);
}
document.close();
}
任何帮助?
答案 0 :(得分:2)
尝试将图像添加为单元格表格。请参阅以下示例:
private void generateMultiPageTiff(String path) throws Exception {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(
"C:\\Users\\Desktop\\out.pdf"));
document.open();
Paragraph p = new Paragraph();
File files[] = new File(path).listFiles();
PdfPTable table = new PdfPTable(1);
for (int ii = 0; ii < files.length; ii++) {
table.setWidthPercentage(100);
table.addCell(createImageCell(files[ii].getAbsolutePath()));
}
document.add(table);
document.close();
}
public static PdfPCell createImageCell(String path)
throws DocumentException, IOException {
Image img = Image.getInstance(path);
PdfPCell cell = new PdfPCell(img, true);
return cell;
}