【问题标题】:The separator between keywords in PDF meta dataPDF元数据中关键字之间的分隔符
【发布时间】:2017-11-20 08:58:29
【问题描述】:

我找不到关于 PDF 文件元数据中的关键字和关键字短语是用逗号分隔还是用带空格的逗号分隔的“官方”文档。

下面的例子演示了区别:

  • 关键字,关键字词组,另一个关键字词组
  • 关键字,关键字词组,另一个关键字词组

任何高质量的参考资料?

我发现的在线资源质量低下。 例如,Adobe press web page 表示“关键字必须用逗号或分号分隔”,但在示例中,我们看到分号在第一个关键字之前有一个空格,而分号在每两个相邻关键字之间有一个空格。我们在示例中看不到关键字词组。

【问题讨论】:

    标签: pdf keyword comma spaces separator


    【解决方案1】:

    关键字元数据字段是单个文本字段 - 不是列表。您可以选择任何视觉上令您满意的东西。对关键字数据进行操作的搜索引擎可能有其他偏好,但我认为逗号或分号都适用于大多数现代搜索引擎。

    参考:PDF 32000-1:2008 on page 550

    ExifTool, for example 解析逗号分隔的值,但如果找不到逗号,它将在空格处分割:

    # separate tokens in comma or whitespace delimited lists
    my @values = ($val =~ /,/) ? split /,+\s*/, $val : split ' ', $val;
    foreach $val (@values) {
        $et->FoundTag($tagInfo, $val);
    }
    

    【讨论】:

    • 作为参考,Mac 的 Preview 用逗号 + 空格分隔关键字。
    • 有人愿意尝试与“PDF 32000-1:2008 on page 550”相关的链接吗?我找不到任何文件与本回复的作者所暗示的文件类似。为方便起见,链接为adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/…。我在那里找不到任何PDF。谢谢!
    • @ClarPaul - 是的。看来他们搬走了。我更新了链接。
    【解决方案2】:

    我没有“高质量的参考资料”,但是,如果我使用乳胶生成 pdf,我会按照以下方式进行: 在我的 main.tex 中添加以下行:

    \usepackage[a-1b]{pdfx}
    

    然后我编写一个文件 main.xmpdata 并添加以下行:

    \Title{My Title}
    \Author{My Name}
    \Copyright{Copyright \copyright\ 2018 "My Name"}
    \Kewords{KeywordA\sep
             KeywordB\sep
             KeywordC}
    \Subject{My Short Discription}
    

    在使用 pdflatex 生成 pdf 后,我使用基于“pdfminer.six”的 python 脚本来提取元数据

    from pdfminer.pdfparser import PDFParser
    from pdfminer.pdfdocument import PDFDocument
    from pdfminer.pdftypes import resolve1
    
    fp = open('main.pdf', 'rb')
    parser = PDFParser(fp)
    doc = PDFDocument(parser)
    parser.set_document(doc)
    
    if 'Metadata' in doc.catalog:
        metadata = resolve1(doc.catalog['Metadata']).get_data()
        print(metadata)  # The raw XMP metadata
    

    带有关键字的部分如下所示:

    ...<rdf:Bag><rdf:li>KeywordA</rdf:li>\n     <rdf:li>KeywordB...
    

    并在“main.pdf”的属性中使用“Adobe Acrobat Reader DC”查看我在属性部分关键字中的以下条目:

    ;KeywordA;KeywordB;KeywordC
    

    【讨论】:

      【解决方案3】:

      CommonLook 声称自己是“电子文档可访问性的全球领导者,提供软件产品和专业服务,以实现更快、更经济、更可靠的流程,以符合领先的 PDF 和文档可访问性标准,包括 WCAG 、PDF/UA 和第 508 节。”

      他们在 PDF 元数据上提供following advice

      专业提示:在元数据中输入关键字时,请分开 用分号代替逗号。

      尽管没有进一步说明为什么这是首选。

      【讨论】:

        猜你喜欢
        • 2012-09-07
        • 2016-07-24
        • 2019-02-12
        • 2012-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-11
        • 2022-01-06
        相关资源
        最近更新 更多