使用 iText 7 和 html pdf 设置 application/creator 元数据

Setting application/creator metadata with iText7 and htmlpdf

我使用 iText(在 .Net 上)已有一段时间,但最近才开始使用 htmlpdf 而不是手动构建文档。

在以前的项目中,我使用以下代码设置文档元数据:

    document = new Document();
    m = new MemoryStream();
    writer = PdfWriter.GetInstance(document, m);
    
    document.AddTitle("Document Title");
    document.AddAuthor("Me");
    document.AddSubject("Document subject");
    document.AddCreator("My System");

效果很好。

当我第一次开始使用 pdfhtml 时,我注意到页面 被用作文档标题(非常合理),但是我开始寻找一种方法来设置其他元数据,例如作者和主题。</p> <p>我开始阅读 iText pdfHTML 白皮书 <a href="https://itextpdf.com/sites/default/files/2018-12/pdfHTML-whitepaper-FINAL-ilovepdf-compressed.pdf" rel="nofollow noreferrer">here</a>。这提供了以下说明: <WBIMG:5925153-1.png></p> <p>这没有用。但是,我确实注意到一些 <meta> 标记值(例如视口设置)出现在 PDF 文档属性的 'custom properties' 部分。</p> <p>通过反复试验,我弄清楚了如何使用 HTML 标签设置大部分 PDF 元数据,如下所示(结果请参见下面的屏幕截图):</p> <pre><code> <meta name="author" content="Me" /> <meta name="description" content="Document Subject" /> <meta name="keywords" content="Keyword" /> <title>Document Title</title> </code></pre> <p>这很好,比以编程方式设置值要好得多。</p> <p>但是,我无法算出 Document.AddCreator() / pdfMetaData.setCreator() 的等价物,它们通常在 PDF 文档属性中显示为 'Application'。</p> <p>我尝试过使用 name="creator" 和 name="application" 的元标记,但没有成功。</p> <p>有谁知道我该怎么做?是否在任何地方记录了所有这些元数据设置? (抱歉,我看过了!)</p> <p>谢谢。</p> <p><WBIMG:5925153-2.png></p> </section> <div> <section class="answer"> <p><code>application-name</code> 就是您要找的。</p> <pre><code><meta name="application-name" content="Application" /> <meta name="author" content="Author" /> <meta name="description" content="Subject" /> <meta name="keywords" content="Keywords" /> <title>Title</title> </code></pre> <p><WBIMG:15933105-1.png></p> </section> </div> </div> <div class="line"></div> <div id="footer">©2023 WhoseBug</div> </body> </html>