我正在尝试在 PDF 中查找某些文本并将其替换为特定值。我正在使用 python 库pdfrw,因为我的首选环境是 python。以下是文档第一页中的示例内容。
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
对应于文档中的“REPORT”一词。到目前为止,我已经理解了这种格式中所有特殊标签和数字的含义,并成功地操纵了位置和其中的一些字符。但我不明白每个字符以什么格式或编码进行编码(<0034>、<0028> 等)。
我尝试暴力破解 <00xx> 的每个组合,但只找到字母 R、E、P、O、T 的有效匹配,这些字母是单词中使用的字母。我对页面中包含的 F11 和 F10 进行了相同的尝试,发现与仅使用的字母匹配的结果相同。如果有人可以解释这种编码是如何工作的以及如何编辑它以便能够插入任何 utf-8 字符,那将非常有帮助。
谢谢。
note-1:以下是 F8 对象:
{'/Subtype': '/Type0', '/Type': '/Font', '/BaseFont': '/OpenSans-Bold', '/Encoding': '/Identity-H', '/DescendantFonts': [{'/DW': '0', '/Subtype': '/CIDFontType2', '/CIDSystemInfo': {'/Suplement': '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'}}'0', '660.15625', '0', '579.10156']], '/CIDToGIDMap': '/Identity'}], '/ToUnicode': {'/Length': '413'}}'0', '660.15625', '0', '579.10156']], '/CIDToGIDMap': '/Identity'}], '/ToUnicode': {'/Length': '413'}}
注意2:以 (nice text)Tj\n 或 (<0032><0032>) 方式替换文本在这里不起作用。
慕尼黑8549860
小怪兽爱吃肉
哈士奇WWW
相关分类