最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
C#代码轻松实现调整PDF版本
时间:2026-08-06 13:52:06 编辑:袖梨 来源:一聚教程网
在某些平台上传或提交 PDF 文件时,可能会遇到平台要求特定 PDF 版本的情况。如果您的 PDF 文件版本不符合要求,就需要将其转换为兼容的版本,以确保文件能够正常使用。下文会介绍如何通过编程方式实现 PDF 版本之间的转换。

安装相关组件
开始之前,您需要在 .NET 项目中添加所需的 PDF 处理组件。相关程序集可以从官方资源中下载,或通过 NuGet 包管理器进行安装。
PM> Install-Package Spire.PDF
在 C# 和 VB.NET 中更改 PDF 版本
通过 .NET PDF 处理组件,可以支持 PDF 1.0 到 PDF 1.7 版本之间的转换。若需要将 PDF 文件转换为更高或更低的版本,可以通过 PdfDocument.FileInfo.Version 属性进行设置。具体步骤如下:
- 创建一个
PdfDocument对象。 - 使用
PdfDocument.LoadFromFile()方法加载示例 PDF 文件。 - 通过
PdfDocument.FileInfo.Version属性,将 PDF 版本修改为目标版本。 - 使用
PdfDocument.SaveToFile()方法保存处理后的文档。
完整示例代码如下:
using Spire.Pdf;namespace ConvertPDFVersion{ class Program { static void Main(string[] args) { // 创建一个 PdfDocument 对象 PdfDocument pdf = new PdfDocument(); // 加载示例 PDF 文件 pdf.LoadFromFile("sample.pdf"); // 将 PDF 版本更改为 1.7 pdf.FileInfo.Version = PdfVersion.Version1_7; // 保存结果文件 pdf.SaveToFile("PDFVersion.pdf"); } }}知识扩展
在 C# 中调整 PDF 版本,本质上是修改 PDF 文件头中的版本号。市面上主流的几个 .NET PDF 库都可以实现,下面为你整理了几种方案。
方案一:使用 Syncfusion (商业库,功能全面)
Syncfusion 的 Essential PDF 是一个功能强大的 .NET PDF 库。它通过 PdfLoadedDocument.FileStructure.Version 属性来修改版本。
安装 NuGet 包:
Install-Package Syncfusion.Pdf.WinForms
核心代码:
using Syncfusion.Pdf;using Syncfusion.Pdf.Parsing;// 加载 PDF 文档PdfLoadedDocument document = new PdfLoadedDocument("Input.pdf");// 关闭增量更新(确保版本修改生效)document.FileStructure.IncrementalUpdate = false;// 设置 PDF 版本为 1.7document.FileStructure.Version = PdfVersion.Version1_7;// 保存文档document.Save("Output.pdf");// 关闭文档document.Close(true);说明:
PdfVersion枚举包含了Version1_0到Version1_7等选项。- 设置
IncrementalUpdate = false是为了确保版本修改能正确写入文件。 - Syncfusion 提供 30 天免费试用,商业使用需授权。
方案二:使用 Spire.PDF (商业库,API 简洁)
Spire.PDF 同样是一个成熟的 .NET PDF 处理库,通过 PdfDocument.FileInfo.Version 属性即可修改版本。
安装 NuGet 包:
Install-Package Spire.PDF
核心代码:
using Spire.Pdf;// 创建 PdfDocument 对象并加载 PDFPdfDocument pdf = new PdfDocument();pdf.LoadFromFile("sample.pdf");// 修改 PDF 版本为 1.7pdf.FileInfo.Version = PdfVersion.Version1_7;// 保存结果pdf.SaveToFile("PDFVersion.pdf");说明:
- Spire.PDF 支持 PDF 1.0 到 1.7 的版本转换。
- 同样提供 30 天免费试用,商业使用需授权。
方案三:使用 iTextSharp (开源/商业,需注意版本限制)
iTextSharp 是 iText 的 .NET 移植版,可以修改 PDF 版本号。
核心思路:
- 通过
PdfWriter的SetPdfVersion方法,在写入新 PDF 时设置版本。 - 对于已存在的 PDF,需要打开 → 修改 → 重新保存,不能直接原地修改。
示例代码(创建新文档时设置版本):
using iTextSharp.text;using iTextSharp.text.pdf;Document document = new Document();PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));// 设置 PDF 版本为 1.7writer.SetPdfVersion(PdfWriter.VERSION_1_7);document.Open();// ... 添加内容 ...document.Close();限制:
1.版本只能升不能降:SetPdfVersion 只有在设置的版本高于当前版本时才生效。例如,无法将 PDF 1.7 降级为 1.4。
2.仅修改版本号:iTextSharp 只改文件头的版本数字,不会移除该版本不支持的特性。比如,把一个包含 OCG(图层,PDF 1.5 特性)的 PDF 版本号改成 1.4,并不会删除这些图层。
方案四:使用 Aspose.PDF (商业库)
Aspose.PDF 也提供了设置 PDF 版本的功能。
核心方法:通过 PdfPackage.SetPdfVersion 方法设置版本。
// 参考用法(需结合实际 API)// PdfPackage.SetPdfVersion("1.7");说明:Aspose.PDF 功能非常全面,适合企业级应用,商业使用需授权。
方案五:PdfPig (开源免费,仅支持读取)
PdfPig 是一个开源免费的 PDF 处理库,可以读取 PDF 版本。
using UglyToad.PdfPig;decimal version = document.Version; // 读取版本号
限制:PdfPig 目前不支持修改或写入 PDF 版本。如果只需要读取版本号,这是个免费的选择。
总结
通过以上步骤,可以使用 .NET PDF 处理工具轻松修改 PDF 文件的版本。只需加载目标 PDF 文档,并通过 PdfDocument.FileInfo.Version 属性设置所需版本,即可将 PDF 转换为更高或更低的版本。该方法操作简单,适用于需要调整 PDF 兼容性或满足不同 PDF 标准要求的文档处理场景。
相关文章
- 《和平精英》狙击枪自动开镜怎么开启-探头自动开镜开启方法 08-06
- 战术风格地下偶像演唱会 08-06
- 男子与幼犬及墙面素描 08-06
- 粉色小狼诊所吉祥物照片 08-06
- 高端写实风黄桃罐头海报 08-06
- 极简抽象茶叶包装视觉设计 08-06