回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图在PDF中找到并用特定值替换某些文本。我正在使用python库<a href="https://pypi.org/project/pdfrw/" rel="nofollow noreferrer">pdfrw</a>,因为我首选的环境是python。以下是文档第一页中的内容示例</p>
<pre><code>BT\n/F8 40 Tf\n1 0 0 -1 569 376 Tm\n<0034> Tj\n26 0 Td <0028> Tj\n22 0 Td <0032> Tj\n25 0 Td <0031> Tj\n32 0 Td <0034> Tj\n26 0 Td <0036> Tj\nET\n0 .8863 1 RG
</code></pre>
<p>对应于文件中的“报告”一词。到目前为止,我已经理解了这种格式中所有特殊标签和数字的含义,并成功地操纵了位置和其中的一些字符。但我不了解每个字符的编码格式或编码方式(<;0034>;、<;0028>;等)</p>
<p>我试着用蛮力强迫每一个组合<;00xx>;但只找到字母R、E、P、O、T的有效匹配项,这些字母是单词中使用的字母。我尝试了同样的F11和F10,包括在页面中,并发现相同的结果,我匹配的字母,只使用。如果有人能解释这种编码是如何工作的,我如何编辑它,这样我就可以插入任何utf-8字符,这将非常有帮助</p>
<p>多谢各位</p>
<p>注1:
以下是F8对象:</p>
<blockquote>
<p>{'/Subtype': '/Type0',
'/Type': '/Font',
'/BaseFont': '/OpenSans-Bold',
'/Encoding': '/Identity-H',
'/DescendantFonts': [{'/DW': '0',
'/Subtype': '/CIDFontType2',
'/CIDSystemInfo': {'/Supplement': '0',
'/Registry': '(Adobe)',
'/Ordering': '(Identity)'},
'/Type': '/Font',
'/FontDescriptor': {'/Descent': '-292.96875',
'/CapHeight': '713.86719',
'/StemV': '83.984375',
'/Type': '/FontDescriptor',
'/FontFile2': {'/Length1': '5540', '/Length': '5540'},
'/Flags': '4',
'/FontName': '/OpenSans-Bold',
'/ItalicAngle': '0',
'/FontBBox': ['-619.14063', '-292.96875', '1318.84766', '1068.84766'],
'/Ascent': '1068.84766'},
'/BaseFont': '/OpenSans-Bold',
'/W': ['0',
['600.09766'],
'40',
['560.05859'],
'49',
['795.89844', '627.92969', '0', '660.15625', '0', '579.10156']],
'/CIDToGIDMap': '/Identity'}],
'/ToUnicode': {'/Length': '413'}}</p>
</blockquote>
<p>注2:
在(漂亮文本)Tj\n或(<;0032>;<;0032>;)方式中替换文本在这里也不起作用</p>