Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将PDF与itext相结合-横向页面呈现为纵向_Java_Itext - Fatal编程技术网

Java 将PDF与itext相结合-横向页面呈现为纵向

Java 将PDF与itext相结合-横向页面呈现为纵向,java,itext,Java,Itext,我正在维护一个使用itext组合多个横向和纵向PDF的遗留应用程序。当将同一应用程序生成的PDF与其他PDF组合在一起时,此过程工作正常,它将景观渲染为portait并切断内容 问题:pdf的结构中是否存在可能导致呈现差异的属性 谢谢 您所描述的行为只有在遵循坏榜样时才会发生。当你跟随时,它不会发生 虽然您没有提供任何源代码,但我非常确定您使用了PdfWriter实例,并且使用addTemplate()方法将现有页面添加到此实例的直接内容。这是错误的(正如我多次向不阅读文档的人指出的那样) 您需

我正在维护一个使用itext组合多个横向和纵向PDF的遗留应用程序。当将同一应用程序生成的PDF与其他PDF组合在一起时,此过程工作正常,它将景观渲染为portait并切断内容

问题:pdf的结构中是否存在可能导致呈现差异的属性


谢谢

您所描述的行为只有在遵循坏榜样时才会发生。当你跟随时,它不会发生

虽然您没有提供任何源代码,但我非常确定您使用了
PdfWriter
实例,并且使用
addTemplate()
方法将现有页面添加到此实例的直接内容。这是错误的(正如我多次向不阅读文档的人指出的那样)

您需要替换合并过程,并使用
PdfCopy
PdfSmartCopy
连接PDF文档。请看一下(合并表单)和(引入
PdfSmartCopy
以使生成的文件大小保持较低)示例,以获得灵感。如果您的应用程序非常旧,您可能找不到
addDocument()
方法

在这种情况下,您需要使用旧的示例,例如:

Document Document=新文档();
PdfCopy copy=新PdfCopy(文档、新文件输出流(结果));
document.open();
PDF阅读器;
int n;
对于(int i=0;i
您描述的行为只有在遵循错误示例时才会发生。当你跟随时,它不会发生

虽然您没有提供任何源代码,但我非常确定您使用了
PdfWriter
实例,并且使用
addTemplate()
方法将现有页面添加到此实例的直接内容。这是错误的(正如我多次向不阅读文档的人指出的那样)

您需要替换合并过程,并使用
PdfCopy
PdfSmartCopy
连接PDF文档。请看一下(合并表单)和(引入
PdfSmartCopy
以使生成的文件大小保持较低)示例,以获得灵感。如果您的应用程序非常旧,您可能找不到
addDocument()
方法

在这种情况下,您需要使用旧的示例,例如:

Document Document=新文档();
PdfCopy copy=新PdfCopy(文档、新文件输出流(结果));
document.open();
PDF阅读器;
int n;
对于(int i=0;i
Document document = new Document();
PdfCopy copy = new PdfCopy(document, new FileOutputStream(RESULT));
document.open();
PdfReader reader;
int n;
for (int i = 0; i < files.length; i++) {
    reader = new PdfReader(files[i]);
    n = reader.getNumberOfPages();
    for (int page = 0; page < n; ) {
        copy.addPage(copy.getImportedPage(reader, ++page));
    }
    copy.freeReader(reader);
    reader.close();
}
document.close();