PDF 工具 如何在 C++ 中将 PDF 转换为 PDFA Curtis Chau 已更新:2026年1月5日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 可移植文档格式(PDF)已成为在各种平台上共享文档的首选格式。 然而,随着数字存档的重要性日益增加,越来越需要将文档以标准化格式存档,以确保长期保存和访问。 PDF/A(PDFA)格式专为此目的而设计,提供了一个稳定且自包含的格式,适合存档。 了解 PDF/A PDF/A 是一种 ISO 标准化的 PDF 变体,旨在长期保存文档,保持内容的可访问性和完整性。 与普通 PDF 文件相比,PDF/A 文件具有特定的限制,确保其稳健性和自给自足。 本文指导您如何使用 C++ 中的 QPDF 库将 PDF 文档转换为 PDF/A 格式。 QPDF 是一个强大的 C++ 库,使开发人员可以以编程方式管理和转换 PDF 文档,包括 PDF 到 PDF/A 的转换,只需几行代码即可实现。 QPDF C++ 库 QPDF 是一个 C++ 库和命令行工具,旨在支持 PDF 文件的操作、转换和解析。 它允许开发人员以编程方式访问和操作 PDF 文件的内容,具有广泛的支持。 QPDF 是一个开源项目,提供了一系列功能,包括加密、解密、线性化、优化和 PDF/A 合规性。 前提条件 开始之前,请确保您已设置以下内容: Code::Blocks IDE: 从官方网站 (Code::Blocks 官方网站) 下载并安装 Code::Blocks。 QPDF 库: 从 QPDF 网站 (QPDF 官方网站) 下载适用于您操作系统的最新 QPDF 库版本。 创建 PDF 到 PDF/A 项目 打开 Code::Blocks: 在您的计算机上启动 Code::Blocks IDE。 创建新项目: 在顶部菜单中点击 文件,然后选择 新建,接着选择 项目。 选择项目类型: 在 从模板新建 窗口中,选择 控制台应用程序 然后点击 Go。 选择 C/C++ 语言并点击 下一步。 输入项目详情: 在 项目标题 字段中提供项目名称(例如,"PDFtoPDFA")。 选择保存项目文件的位置并点击 下一步。 选择编译器: 选择一个编译器,如果需要,从列表中手动选择一个。点击 完成。 将 QPDF 添加到项目中 要在 Code::Blocks 中包含 QPDF 头文件,请执行以下步骤: 在菜单中点击 项目。 从上下文菜单中选择 构建选项。 在 构建选项 对话框中,转到 搜索目录 选项卡。 在 编译器 选项卡中,点击 添加 按钮,并浏览到包含 QPDF 头文件的目录(通常位于 include 文件夹中)。 然后,在 链接 选项卡中,点击 添加 按钮,包括 lib 和 bin 目录。 点击 确定 关闭 构建选项 对话框。 此外,您需要在链接阶段与 QPDF 库建立连接。 请遵循以下步骤: 在 构建选项 对话框中,转到 链接器设置 选项卡。 在 链接库 下点击 添加,然后浏览到包含 QPDF 库文件的目录(通常在 Windows 上有 .a 或 .lib 文件扩展名)。 再次点击 添加,并输入 QPDF 库的名称(例如 libqpdf.a 或 qpdf.lib)。 点击 确定 关闭 构建选项 对话框。 步骤将 PDF 转换为 PDF/A 文件 包含必要的头文件 #include <iostream> #include <qpdf/QPDF.hh> #include <qpdf/QPDFWriter.hh> // The above code includes necessary header files for standard input/output operations and QPDF functionalities. #include <iostream> #include <qpdf/QPDF.hh> #include <qpdf/QPDFWriter.hh> // The above code includes necessary header files for standard input/output operations and QPDF functionalities. C++ 设置输入和输出文件的路径 在main函数(C++程序的起点)中,设置输入和输出文件的路径: std::string input_pdf_path = "input.pdf"; std::string output_pdf_a_path = "output.pdfa"; // These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file. std::string input_pdf_path = "input.pdf"; std::string output_pdf_a_path = "output.pdfa"; // These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file. C++ 为 PDF 文件创建 QPDF 对象 QPDF input_pdf; input_pdf.processFile(input_pdf_path.c_str()); // Create a QPDF object for the input PDF and process the file to prepare it for conversion. QPDF input_pdf; input_pdf.processFile(input_pdf_path.c_str()); // Create a QPDF object for the input PDF and process the file to prepare it for conversion. C++ 创建QPDFWriter对象以写入PDF/A文件 QPDFWriter writer(input_pdf, output_pdf_a_path.c_str()); // This creates a QPDFWriter object to handle writing the converted PDF/A file. QPDFWriter writer(input_pdf, output_pdf_a_path.c_str()); // This creates a QPDFWriter object to handle writing the converted PDF/A file. C++ 设置 PDF/A 合规性并转换 PDF 文档 writer.setQDFMode(true); writer.write(); // Set the QPDFWriter to operate in PDF/A compliant mode and write the output file. writer.setQDFMode(true); writer.write(); // Set the QPDFWriter to operate in PDF/A compliant mode and write the output file. C++ 输出 输出文件是不可编辑的且符合 PDF/A 标准: Convert PDF to PDF/A in C# IronPDF 库 是一个 .NET PDF 库,提供了用于处理 PDF 文档的全面功能。 它允许开发人员使用 C# 或 VB.NET 创建、修改和转换 PDF 文档。 用户可以使用 IronPDF 从 HTML、ASPX、Word 文档(.doc)或图像中动态生成 PDF 文件,并加入如图表、表格和图像数据(如 JPG、PNG 格式)等丰富元素。 它还支持合并、拆分和编辑现有 PDF 文件的页面,以及 PDF 数据的文本提取和内容操作。 IronPDF 通过几行代码即可实现PDF 到 PDF/A-3b 格式标准的转换。 以下代码有助于完成这个任务: using IronPdf; // Create a PdfDocument object or open any PDF file PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf"); // Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3); // The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file. using IronPdf; // Create a PdfDocument object or open any PDF file PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf"); // Use the SaveAsPdfA method to save to file pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3); // The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file. $vbLabelText $csharpLabel 结论 本文指导您通过 QPDF 库在 C++ 中将标准 PDF 文档转换为 PDF/A 格式。 PDF/A 合规性确保内容的保存和可访问性,使其非常适合存档。 IronPDF 还支持将 HTML、图像和 Word 文档等各种格式转换为 PDF 文件。 有关更多信息,请访问此 IronPDF 文档页面。 IronPDF 提供 免费试用版 IronPDF,以测试其在商业生产中的功能。 直接下载 IronPDF。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新2025年6月22日 发现 2025 年最佳 PDF 涂黑软件 探索 2025 年的顶级 PDF 涂黑解决方案,包括 Adobe Acrobat Pro DC、Nitro PDF Pro、Foxit PDF Editor 和 PDF-XChange Editor。了解 IronPDF 在 .NET 中自动化遮盖以增强安全性和合规性的方式。 阅读更多 已更新2025年6月22日 iPhone 上的最佳 PDF 阅读器(免费和付费工具比较) 在本文中,我们将探索一些 iPhone 的最佳 PDF 阅读器,并得出为何选择 IronPDF 是最佳选项的结论。 阅读更多 已更新2025年6月26日 Windows 的最佳免费 PDF 编辑器(免费和付费工具比较) 本文探讨了 2025 年可用的顶级免费 PDF 编辑器,并得出最强大和灵活的选项:IronPDF。 阅读更多 如何在 Android 手机上查看 PDF 文件如何向 PDF 文件添加页码
已更新2025年6月22日 发现 2025 年最佳 PDF 涂黑软件 探索 2025 年的顶级 PDF 涂黑解决方案,包括 Adobe Acrobat Pro DC、Nitro PDF Pro、Foxit PDF Editor 和 PDF-XChange Editor。了解 IronPDF 在 .NET 中自动化遮盖以增强安全性和合规性的方式。 阅读更多
已更新2025年6月22日 iPhone 上的最佳 PDF 阅读器(免费和付费工具比较) 在本文中,我们将探索一些 iPhone 的最佳 PDF 阅读器,并得出为何选择 IronPDF 是最佳选项的结论。 阅读更多
已更新2025年6月26日 Windows 的最佳免费 PDF 编辑器(免费和付费工具比较) 本文探讨了 2025 年可用的顶级免费 PDF 编辑器,并得出最强大和灵活的选项:IronPDF。 阅读更多