Javascript 将PDF与菜单合并

Javascript 将PDF与菜单合并,javascript,pdf,merge,itext7,Javascript,Pdf,Merge,Itext7,我测试了7.1.15的最新版本和开发版本 我对合并pdf文件有一个问题。在附件中是一个C#项目,准备构建,解释了问题 在PDFSource1.pdf和PDFSource2.pdf上,当我单击某个组件时,会出现一个菜单 然而,在我合并了两个PDF(merge.PDF)之后,菜单在PDFSource1.PDF页面上运行良好,但在PDFSource2.PDF页面上运行不好。有没有办法纠正它 pdf文件位于bin目录中。 我把档案上传到这里: 这两个源文档之间的区别在于,在PDFSource1.pdf中

我测试了7.1.15的最新版本和开发版本

我对合并pdf文件有一个问题。在附件中是一个C#项目,准备构建,解释了问题

在PDFSource1.pdf和PDFSource2.pdf上,当我单击某个组件时,会出现一个菜单

然而,在我合并了两个PDF(merge.PDF)之后,菜单在PDFSource1.PDF页面上运行良好,但在PDFSource2.PDF页面上运行不好。有没有办法纠正它

pdf文件位于bin目录中。 我把档案上传到这里:


这两个源文档之间的区别在于,在
PDFSource1.pdf
中,弹出窗口是通过带有JavaScript操作的注释实现的,而在
PDFSource2.pdf
中,它们是使用文档级JavaScript实现的。为了在调用
CopyPagesTo
时考虑非标准(确切的JavaScript对象模型不是PDF标准的一部分)文档级材料,您需要提供一个自定义
IPdfPageExtraCopier
,它可以理解该材料并相应地将其集成到目标文档中。
{
    string SRC1 = "PDFSource1.pdf";
    string SRC2 = "PDFSource2.pdf";
    string dest = "merge.pdf";

    PdfWriter writer = new PdfWriter(dest); ;
    PdfDocument pdfWriter = new PdfDocument(writer);

    PdfReader reader = new PdfReader(SRC1);
    PdfDocument pdfReader = new PdfDocument(reader);
    pdfReader.CopyPagesTo(1,1,pdfWriter);

    reader = new PdfReader(SRC2);
    pdfReader = new PdfDocument(reader);
    pdfReader.CopyPagesTo(1, 1, pdfWriter);

    pdfReader.Close();
    reader.Close();
    pdfWriter.Close();
    writer.Close();
}