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

时间:2017-07-11 08:59:31

标签: c# pdf split itext

我有一个很大的问题,我希望你可以帮助我。

我有一个PDF文件,我将其拆分为更多文件。

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

我无法找到将此表格内容复制到新的pdf文件的解决方案。

为了您的理解: 我有三个相同的pdf文件。

PDF: 第1页: 文本

第2页: Contenttable: 内容x第3页(转到第3页) 内容x Page 4"" 内容x Page 4""

... ...

我把所有这些pdf文件放在一个大的pdf中。 (内容表仍然有效) 而现在,我将把它们拆分为单一(内容表不起作用)

我的想法是从原始pdf(表格内容仍然有效)中导出内容表,并将其导入新的一次。 但我不知道如何。

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

但我找不到解决方法如何才能做到这一点。 但是最后我想修复每个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();
    }

0 个答案:

没有答案