亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

提取帶標簽的 PDF 中的閱讀順序序列

提取帶標簽的 PDF 中的閱讀順序序列

慕勒3428872 2023-10-12 15:00:48
我目前正在驗證帶標簽的 PDF 文件中內容的正確順序。有沒有辦法以編程方式提取帶標簽的 PDF 文件的閱讀順序號?我嘗試將帶標簽的 PDF 轉換為 XML,但我無法弄清楚哪些標簽屬于特定文本。我嘗試過以下庫:同步融合文本7但我找不到任何獲取其閱讀順序號的方法。真的可能嗎?提前致謝!
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

您可以使用PdfPig?(.NET) 庫提取標記 pdf 的標記內容樹。我的理解是閱讀順序是由標記內容標識符(MCID)指示的。

如果標記的內容元素不包含 MCID(如分頁元素),則 MCID 將設置為 -1。

每個MarkedContentElement都包含屬于它的字母、圖像和路徑:

? ? ? using UglyToad.PdfPig;

? ? ? ? [...]


? ? ? ? using (PdfDocument document = PdfDocument.Open(pathToFile))

? ? ? ? {

? ? ? ? ? ? for (int p = 0; p < document.NumberOfPages; p++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? var page = document.GetPage(p + 1);


? ? ? ? ? ? ? ? // extract the page's marked content

? ? ? ? ? ? ? ? var markedContents = page.GetMarkedContents();?


? ? ? ? ? ? ? ? var orderedMarkedContents = markedContents

? ? ? ? ? ? ? ? ? ? ? ?.OrderBy(mc => mc.MarkedContentIdentifier);


? ? ? ? ? ? ? ? foreach (var mc in orderedMarkedContents)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? // do something

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

如果你想將結果提取到 XML,你可以看看這個PageXmlTextExporter類。請查看wikiITextExporter以獲取有關和的更多信息IReadingOrderDetector。


注意:我是這個庫的積極貢獻者。


查看完整回答
反對 回復 2023-10-12
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號