使用PDFSharp“结果视图”阅读PDF注释内容;c#的内容
本文关键字:注释 PDF 阅读 PDFSharp 结果 视图 结果视图 使用 | 更新日期: 2023-09-27 18:09:19
我正在尝试使用PDFSharp读取PDF文档中所有注释的内容,同时跟踪它们在哪个页面上。我试图检索的"内容"是在PdfItem的"结果视图"中,它说"扩展结果视图将枚举IEnumerable"
我使用下面的代码:
private void LoadCommentList(string file) //using pdfsharp
{
PdfSharp.Pdf.PdfDocument inputDoc = PdfSharp.Pdf.IO.PdfReader.Open(file, PdfDocumentOpenMode.Import);
PdfSharp.Pdf.PdfDocument document = new PdfSharp.Pdf.PdfDocument();
PdfSharp.Pdf.PdfPage page = new PdfSharp.Pdf.PdfPage();
for (int i = 0; i < inputDoc.PageCount; i++)
{
page = inputDoc.Pages[i];
page = document.AddPage(page);
for (int p = 0; p < document.Pages[i].Annotations.Elements.Count; p++)
{
PdfItem textAnnot = document.Pages[i].Annotations.Elements.GetObject(p);
//add specific item in "Results View" to CommentList here......
}
}
}
我如何以编程方式阅读"结果视图",以便我可以获得PDF注释的内容?
谢谢你的帮助。
是一种比我尝试的方法更简单的方法。不要使用Pdfitem对象,而是使用PdfAnnotation对象。从一开始就该这么做。代码示例如下:
private void LoadCommentList(string file) //using pdfsharp
{
PdfSharp.Pdf.PdfDocument inputDoc = PdfSharp.Pdf.IO.PdfReader.Open(file, PdfDocumentOpenMode.Import);
PdfSharp.Pdf.PdfDocument document = new PdfSharp.Pdf.PdfDocument();
PdfSharp.Pdf.PdfPage page = new PdfSharp.Pdf.PdfPage();
for (int i = 0; i < inputDoc.PageCount; i++)
{
page = inputDoc.Pages[i];
page = document.AddPage(page);
for (int p = 0; p < document.Pages[i].Annotations.Elements.Count; p++)
{
PdfAnnotation textAnnot = document.Pages[i].Annotations[p];
string content = textAnnot.Contents;
if (content != null)
{
CommentList.Add(content);
}
}
}
}