使用Python borb设置PDF Keywords时,如何避免rdf:Bag拆分短语?
解决borb设置PDF关键词时短语被拆分的问题
当用borb设置PDF关键词时,多词短语(如foo bar)会被拆分成单个词存入rdf:Bag,导致Acrobat DC显示混乱。要保留完整短语,需遵循PDF的关键词分隔规范。
解决方案
PDF规范中,多词关键词短语需用分号(;)分隔,而非空格。修改代码时,将关键词列表的分隔符从空格改为; (分号加空格),这样borb会将每个分号分隔的内容作为完整短语存入rdf:Bag,同时Acrobat DC能正确识别。
修改后的代码
from borb.io.read.types import Name, String # 假设doc已正确加载 info = doc["XRef"]["Trailer"]["Info"] metadata = ['foo bar', 'baz', 'qux'] keywords: list = [] for phrase in metadata : clean: list[str] = do_remove_stopwords(phrase) keywords.append(" ".join(clean)) # 用分号+空格分隔关键词短语 info[Name("Keywords")] = String("; ".join(keywords))
效果验证
- rdf:Bag中会生成完整的短语元素:
<rdf:li>foo bar</rdf:li>、<rdf:li>baz</rdf:li>、<rdf:li>qux</rdf:li> - Acrobat DC的文档属性中,关键词会显示为
foo bar; baz; qux,每个短语作为独立关键词被识别
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

