c#Itextsharp复制内容表/转到本地页面
我有个大问题,希望你能帮我解决 我有一个PDF文件,我把它分成了更多的文件 问题:有一个表内容(转到第X页),但在新的pdf文件中它不再工作了 我找不到将此表内容复制到新pdf文件的解决方案 请谅解: 我有三个相等的pdf文件 PDF: 第1页: 正文 第2页: 可满足的: 内容x第3页(转到第3页) 内容x第4页“” 内容x第5页“” 。。。 我把所有这些pdf文件放在一个大pdf中。(内容表仍在工作) 现在,我将把它们分为一次(内容表不工作) 我的想法是将内容表从原始pdf中导出(其中表内容仍在工作),然后将其导入新的pdf中。 但是我不知道怎么做 第二个想法:在PDF中搜索关键字,并将关键字更改为转到本地页面操作 但我找不到解决办法,我怎么能做到这一点。 然而,最后我想修复每个pdf文件中的表内容 有什么想法吗 迄今为止的代码: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中导出(其中表内
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
类。请检查以下示例: