c#Itextsharp复制内容表/转到本地页面

c#Itextsharp复制内容表/转到本地页面,c#,pdf,split,itext,C#,Pdf,Split,Itext,我有个大问题,希望你能帮我解决 我有一个PDF文件,我把它分成了更多的文件 问题:有一个表内容(转到第X页),但在新的pdf文件中它不再工作了 我找不到将此表内容复制到新pdf文件的解决方案 请谅解: 我有三个相等的pdf文件 PDF: 第1页: 正文 第2页: 可满足的: 内容x第3页(转到第3页) 内容x第4页“” 内容x第5页“” 。。。 我把所有这些pdf文件放在一个大pdf中。(内容表仍在工作) 现在,我将把它们分为一次(内容表不工作) 我的想法是将内容表从原始pdf中导出(其中表内

我有个大问题,希望你能帮我解决

我有一个PDF文件,我把它分成了更多的文件

问题:有一个表内容(转到第X页),但在新的pdf文件中它不再工作了

我找不到将此表内容复制到新pdf文件的解决方案

请谅解: 我有三个相等的pdf文件

PDF: 第1页: 正文

第2页: 可满足的: 内容x第3页(转到第3页) 内容x第4页“” 内容x第5页“”

。。。

我把所有这些pdf文件放在一个大pdf中。(内容表仍在工作) 现在,我将把它们分为一次(内容表不工作)

我的想法是将内容表从原始pdf中导出(其中表内容仍在工作),然后将其导入新的pdf中。 但是我不知道怎么做

第二个想法:在PDF中搜索关键字,并将关键字更改为转到本地页面操作

但我找不到解决办法,我怎么能做到这一点。 然而,最后我想修复每个pdf文件中的表内容

有什么想法吗

迄今为止的代码:

 PdfReader reader = null;
 Document sourceDocument = null;
 Document remote = null;
 PdfCopy pdfCopyProvider = null;
 PdfImportedPage importedPage = null;
 PdfStamper stamp = null;
 Chunk chunk = null;

        reader = new PdfReader(path);
        Seitenanzahl = reader.NumberOfPages;
        sourceDocument = Document(reader.GetPageSizeWithRotation(startpage));
        tmp = PdfTextExtractor.GetTextFromPage(reader, startpage);

        string[] strsplit = tmp.Split(' ');
        vorname = strsplit[4];
        nachname = strsplit[5];
        ort = strsplit[6];
        perso = strsplit[7];



        vorname = vorname.Replace("\n", "");
        vorname = vorname.Replace(" ", "");
        nachname = nachname.Replace("\n", "");
        nachname = nachname.Replace(" ", "");
        ort = ort.Replace("\n", "");
        ort = ort.Replace(" ", "");
        perso = perso.Replace("\n", "");
        perso = perso.Replace(" ", "");




        if (Directory.Exists("test/" + ort))
        {

        }
        else
        {
            DirectoryInfo di = Directory.CreateDirectory("test/" + ort);
        }
        outputpdfpath = "test/" + ort + "/" + "p_" + ort + "_" + perso + "_" + vorname.ToLower() + "_" + nachname.ToLower() + "_hj1_booklet_2017" + ".pdf";





        pdfCopyProvider = new PdfCopy(sourceDocument,
            new FileStream(outputpdfpath, FileMode.Create, FileAccess.ReadWrite));

        sourceDocument.Open();



        for (int i = startpage; i <= endpage; i++)
        {
            importedPage = pdfCopyProvider.GetImportedPage(reader, i);

            pdfCopyProvider.AddPage(importedPage);
        }
        sourceDocument.Close();


        reader.Close();
    }
PdfReader阅读器=null;
Document sourceDocument=null;
文档远程=空;
PdfCopy pdfCopyProvider=null;
PDFIImportedPage importedPage=null;
PdfStamper stamp=null;
Chunk=null;
读卡器=新的PDF读卡器(路径);
Seitenanzahl=reader.NumberOfPages;
sourceDocument=文档(reader.GetPageSizeWithRotation(startpage));
tmp=PdfTextExtractor.GetTextFromPage(读卡器,起始页);
字符串[]strsplit=tmp.Split(“”);
vorname=strsplit[4];
nachname=strsplit[5];
ort=strsplit[6];
perso=strsplit[7];
vorname=vorname.Replace(“\n”和“”);
vorname=vorname.Replace(“,”);
nachname=nachname.Replace(“\n”,”);
nachname=nachname.Replace(“,”);
ort=ort.Replace(“\n”和“”);
ort=ort.Replace(“,”);
perso=perso.Replace(“\n”和“);
perso=perso.Replace(“,”);
if(Directory.Exists(“test/”+ort))
{
}
其他的
{
DirectoryInfo di=Directory.CreateDirectory(“test/”+ort);
}
outputpdfpath=“test/”+ort+“/”+“p_u“+ort+”+perso+“+vorname.ToLower()+““+nachname.ToLower()+”“hj1_2017年小册子”+“.pdf”;
pdfCopyProvider=新的PdfCopy(sourceDocument,
新的文件流(outputpdfpath,FileMode.Create,FileAccess.ReadWrite));
Open();

对于(int i=startpage;我使用
PdfStamper
selectPages()
而不是
PdfCopy
。但是我需要我的PdfCopy将页面添加到新文档中。如何使用母版创建新文件?我认为母版与添加注释或书签有关。
PdfStamper
还可以用于在现有PDF中选择页面(保留书签等内容)。如果您需要添加额外的页面,您可以插入页面。我不知道您的问题的确切上下文,但作为替代,您可以使用现有书签,调整它们,并将它们插入到
PdfCopy
实例中。非常感谢您迄今为止的帮助。我认为这是我正在寻找的。我希望如此^tract all bookmarks?您正在查找
SimpleBookmark
类。请检查以下示例: