更改现有PDF文档的方向(纵向/横向)

时间:2018-06-12 13:59:34

标签: java pdf itext pdfbox

是否可以将现有文档的方向从“纵向”更改为“横向”或反之亦然?

我尝试使用iText将页面(纵向模式)复制到新创建的页面(横向模式)但是它不起作用,使用了复制页面的页面方向。

这是我使用的代码:

PdfReader originalFileReader = new PdfReader(src);

Document landscapeDoc = new Document(PageSize.A4.rotate());

PdfCopy copy = new PdfCopy(landscapeDoc, new FileOutputStream("/home/user/landscape.pdf"));

landscapeDoc.open();

for (int i = 1; i <= originalFileReader.getNumberOfPages(); i++) {
     copy.addPage(copy.getImportedPage(originalFileReader, i));
}

landscapeDoc.close();

1 个答案:

答案 0 :(得分:1)

从原始文件获取页面并将其添加到副本不会重新布局页面。如果你有一个横向页面,它只会包含剪辑到横向页面高度的原始页面的副本。

查看iText site,看起来最接近你需要的2个用例是从PDF到XML结构(pdf2Data)提取数据字段(使用模板标记)和向现有PDF添加内容(水印,图像,注释等)。 (很多例子here。)

没有什么可以智能地从PDF中提取内容和格式并将其重新放在不同的PDF中。 (无论如何,这将是非常难题。)