根据pdf_reference_1-7,tounicode cmap比编码更优先,但是在这里我有一个相反的文件,我该怎么



原始代码:( 037(TJ

CID 31应根据正确的差异

,将CID 31映射到"✓">

基本编码:winansiencoding

差异:[31,uni2713]

CID 31根据Tounicode CMAP映射到" 3"中,这是错误的

cmap:

/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (Adobe)
/Ordering (UCS) /Supplement 0 >> def
/CMapName /Adobe-Identity-UCS def
/CMapType 2 def
1 begincodespacerange
<0000> <FFFF>
endcodespacerange
2 beginbfchar
<1F> <0033>
<0020> <0020>
endbfchar
endcmap CMapName currentdict /CMap defineresource pop end end

在pdf格式中渲染,文本提取是两个独立的路径。与pdf中的html说不同,这是两个单独的动作。

根据您提供的内容,页面内容流具有字符代码 037(八月(。对于渲染,使用编码,其中差异是一部分的一部分,因此使用了编码Uni2713的字体上的字形索引。

但是,对于文本提取,使用了tounicode cmap。您可以通过在各种PDF读取器中打开PDF来验证这一点,然后将文本 粘贴到文本编辑器中。

的原因是,虽然字符代码只能映射到特定字体中的一个字形,但相同的字符代码可以映射到多个Unicode值。说u fb01(结扎(。

发现没有足够好的程序可以从PDF中提取文本和表。

您可能没有看到我为我开发的公司开发的文本和表提取工具。https://www.pdftron.com/document-usterding

https://www.pdftron.com/pdf-tools/pdf-table-traction

相关内容

最新更新