在PDF文件中合并多个图像

在PDF文件中合并多个图像,pdf,itext,Pdf,Itext,我正在尝试将一个目录中的多个图像合并到一个PDF文件中。我已经从itext站点构建了一个示例代码,但是问题是图像没有正确添加到PDF中,只是每个图像的边框在右侧可见: private void generateMultiPageTiff(String path) throws Exception { Document document = new Document(); PdfWriter.getInstance(document, new FileOutputS

我正在尝试将一个目录中的多个图像合并到一个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();

}
private void generateMultiPageTiff(字符串路径)引发异常{
文档=新文档();
getInstance(文档,新文件输出流(
“C:\\Users\\Desktop\\out.pdf”);
document.open();
第p段=新的第()段;
文件文件[]=新文件(路径).listFiles();
对于(int ii=0;ii


有什么帮助吗?

尝试将图像添加为单元格表。请参见以下示例:

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;
}
private void generateMultiPageTiff(字符串路径)引发异常{
文档=新文档();
getInstance(文档,新文件输出流(
“C:\\Users\\Desktop\\out.pdf”);
document.open();
第p段=新的第()段;
文件文件[]=新文件(路径).listFiles();
PdfPTable table=新的PdfPTable(1);
对于(int ii=0;ii