使用.NET版本的PDFBox解析来自PDF的注释/注释:PDFBox.NET-1.8.9

好JuJu

我正在使用以下代码使用.NET版本的PDFBox解析PDF中的文本。

Imports org.apache.pdfbox.pdmodel
Imports org.apache.pdfbox.util

Private Shared Function parseUsingPDFBox(ByVal input As String) As String
      Dim doc As PDDocument = Nothing

      Try
        doc = PDDocument.load(input)
        Dim stripper As New PDFTextStripper()
        Return stripper.getText(doc)
      Finally
        If doc IsNot Nothing Then
          doc.close()
        End If
      End Try
    End Function

http://www.squarepdf.net/how-to-convert-pdf-to-text-in-net-vb

该代码提取的是纯文本可见文本,但没有提取注释。

我曾尝试使用FDFAnnotation.ToString()但它警告ToString()含糊不清...

doc = PDDocument.load(strFilename)
Dim stripper As New FDFAnnotationText
Return stripper.tostring(doc)

我已经尝试过iTextSharp,并可以使用PdfName.ANNOTS类提取它们,但希望坚持使用PDFBox。

我首选的语言是VB,但是我也很高兴接受C#的答案。

mkl

我假设“注释”是指具有NameComment的文本注释以下代码输出所有文本注释内容如果您要使用其他注释类型,则可能需要对其进行调整:

Dim doc As PDDocument = PDDocument.loadNonSeq(New java.io.File("..."), Nothing)
Dim pages As java.util.List = doc.getDocumentCatalog().getAllPages()
For i = 0 To pages.size() - 1
    Dim page As PDPage = pages.get(i)
    Dim annotations As java.util.List = page.getAnnotations()
    For j = 0 To annotations.size() - 1
        Dim annotation As PDAnnotation = annotations.get(j)
        If annotation.getSubtype() = "Text" Then
            Console.WriteLine("{0}-{1} : {2}", i, j, annotation.getContents())
        End If
    Next
Next

doc.close()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用PDFBox将XFDF注释导入PDF

如何在c#.net中使用pdfbox获取pdf中的特定位置词

错误:(8,5)使用-sdk:minSdkVersion 8不能小于库中声明的版本9

我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

vb.net中的12、11、10、9、8至12、11、10、09、08

使用拥挤的2.4GHz Wi-Fi通道1、6、11或“未使用”的3、4、8或9更好吗?

在.NET Core中使用SHA-1

在 .net core 1 中使用会话

使用awk或sed根据第1、8和9列值选择矩阵第一行

VB.NET从0舍入到4-> 0从5舍入到9-> 1

.NET 如何检查 list<int> 是否按数字顺序排列 (1-9)?

在 VB .net 中为 ä,ö,ü 等使用 UTF-8

在IE 8/9中使用“严格使用”是否安全?

如何使用ASP.NET在IE9中模糊文本区域

在.net Core 3.0 Preview9项目中使用System.Windows.Forms类

流9 MB文件时出现System.IO.DirectoryNotFoundException-.NET Core 2.2(使用Kestrel)

使用 .NET Core 3.0 和 Blazor 3.0 预览版 9 恢复失败的包

使用.net数据注释验证颜色(十六进制值)

.NET Core 1.0中无法使用数据注释

使用Json.NET禁用特定类型的类型注释

iOS 8 / Safari 8无法与ASP.NET AJAX扩展一起使用

使用Gstreamer编码/解码VP8或VP9?

如果textbox1.text不为null且大于8,则为c#.net

使用ASP.NET Core计算SHA1

.Net中的Apache PdfBox库

如何为.Net构建PDFBox

条件注释<!-[如果是IE 9]>和<!-[如果是IE 8]>之间的区别

Excel:计算金额-来自另一个单元格(5 + 8 + 3 + 9 + 1)中一个单元格(58391)的数字

无法解析ASP.NET示例项目的服务(使用核心1而不是核心2)