【问题标题】:Can't See Info (Metadata) in Prawn Generated PDF's在虾生成的 PDF 中看不到信息(元数据)
【发布时间】:2021-04-09 19:59:31
【问题描述】:

我正在使用prawn Ruby gem 在我的应用程序中生成PDF 文件。我想在 PDF 中插入一些元数据,并按照文档中的说明进行操作:

  private def prawn_create_document(pdf_filespec, report_text, doc_short_name)
    metadata = {
        RBCreator:      "RockBooks v#{VERSION} (#{PROJECT_URL})",
        RBCreated:      Time.now.to_s,
        RBDocumentCode: doc_short_name.to_s,
    }

    Prawn::Document.generate(pdf_filespec, info: metadata) do
    ...

但是,我在生成的 PDF 中没有看到此元数据。我在带有 KDE (Kubuntu 20.04) 的 Linux 上使用了 pdfinfookular,在 Mac OS 上使用了 Preview

为什么会这样?

【问题讨论】:

    标签: ruby pdf pdf-generation prawn


    【解决方案1】:

    问题不在于 PDF 生成,而在于用于查看生成的 PDF 的工具。

    以下工具可用于成功显示自定义元数据:

    • exiftool(在基于 Ubuntu 的 Linux 上使用 sudo apt install libimage-exiftool-perl 安装)
    • Apache Tika(Java 库),可在 JRuby 中使用 rika gem 访问(请参阅 https://github.com/keithrbennett/rika)。下面是一个脚本,可用于显示来自多种不同类型文件的元数据:
    #!/usr/bin/env jruby
    
    # You will probably want to disable warnings by adding `2>/dev/null` to your command, as in:
    # view-metadata my.pdf 2>/dev/null
    
    require 'rika'
    require 'amazing_print'
    
    raise 'Syntax is view-metadata filespec' if ARGV.empty?
    filespec = ARGV.first
    puts "Metadata for file #{filespec}:\n\n"
    ap Rika.parse_metadata(filespec)
    

    我的文件的输出包括:

                                      "RBDocumentCode" => "balance_sheet",
                   "pdf:docinfo:custom:RBDocumentCode" => "balance_sheet",
                                          "RBCreated" => "2021-01-03 17:03:50 -0500",
                                          "RBCreator" => "RockBooks v0.7.1 (https://github.com/keithrbennett/rock_books)",
                       "pdf:docinfo:custom:RBCreator" => "RockBooks v0.7.1 (https://github.com/keithrbennett/rock_books)",
                       "pdf:docinfo:custom:RBCreated" => "2021-01-03 17:03:50 -0500",
    

    我不知道为什么这些以两种形式创建(不加前缀,加前缀pdf:docinfo:custom:)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      相关资源
      最近更新 更多