修改 PDF 文档属性 [已关闭]

问题描述 投票:0回答:4

如何使用 .NET 代码以编程方式修改 PDF 文档属性?

我购买了许多 PDF 格式的电子书,不幸的是出版商没有设置标题、作者和主题属性。您可以通过访问文件属性对话框并选择 PDF 选项卡在文档上查看此内容。尝试在电子阅读器设备上使用 PDF 电子书时,这确实很痛苦。

我不想购买完整的 PDF Writer 产品来执行此操作,因此我希望有人可以向我指出一个简单的免费库,我可以使用它以编程方式修改属性。

如果没有可用的 .NET 库,我将不胜感激任何其他技术。

.net pdf
4个回答
6
投票

感谢明道加斯和诺布洛赫。既然你们都指向了 iTextSharp,我就这么做了,并且能够使用 iTextSharp 和类似于下面所示的代码解决我的问题。我注意到的一件事是,生成的文件比起始文件 3,639,172 小了 115,143 字节,所以看起来我要么丢失了一些信息,要么这个库比用于创建文档的原始产品更有效。

另一件有趣的事情是,在阅读有关此库的信息时,我不断看到指向 iText in Action 的链接,该链接由我遇到问题的电子书的同一出版商出版:-)

        using System.Diagnostics;
        using iTextSharp.text.pdf;
        using System.IO;
        using System.Collections;

        PdfReader pdfReader = new PdfReader(filePath);
        using (FileStream fileStream = new FileStream(newFilePath, FileMode.Create, FileAccess.Write))
        {
            string title = pdfReader.Info["Title"] as string;
            Trace.WriteLine("Existing title: " + title);

            PdfStamper pdfStamper = new PdfStamper(pdfReader, fileStream);

            // The info property returns a copy of the internal HashTable
            Hashtable newInfo = pdfReader.Info;

            newInfo["Title"] = "New title";

            pdfStamper.MoreInfo = newInfo;

            pdfReader.Close();
            pdfStamper.Close();
        }

4
投票

这里是 C# 中的开源 PDF 库列表

还有一些其他库不在该列表中:
ByteScout-PDF
iTextSharp


3
投票

你看过 iTextSharp 吗?它是.Net 的 PDF API。您可以使用它对 PDF 做一些相当有用的事情。

Sourceforge 上的

iTextSharp


2
投票

Docotic.Pdf 库可用于此类任务。

这里是一个示例,展示了如何设置 PDF 文档属性。它适用于新的 PDF 文档,但要更改现有文档中的属性,应该使用另一个构造函数。

免责声明:我为 Bit Miracle 工作。

© www.soinside.com 2019 - 2024. All rights reserved.