是否可以将现有文档的方向从“纵向”更改为“横向”或反之亦然?
我尝试使用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();
答案 0 :(得分:1)
从原始文件获取页面并将其添加到副本不会重新布局页面。如果你有一个横向页面,它只会包含剪辑到横向页面高度的原始页面的副本。
查看iText site,看起来最接近你需要的2个用例是从PDF到XML结构(pdf2Data)提取数据字段(使用模板标记)和向现有PDF添加内容(水印,图像,注释等)。 (很多例子here。)
没有什么可以智能地从PDF中提取内容和格式并将其重新放在不同的PDF中。 (无论如何,这将是非常难题。)