C#/VB.NET:如何将PDF转为PDF/A
PDF/A是一种ISO标准的PDF文件格式版本,是为长期保存文件而设计的。它提供了一种工具,使电子文件在长时间之后依然以一种保留其外观的方式重现,而不管该文件是用什么工具和系统创建、储存或制作的。这种保留方式使PDF文件可自我持续。PDF/A通过嵌入在文档自身内部显示该文档的信息(内容、颜色、字体、图像,等等),存储这种自我持续。换句话说,PDF/A文件不要求任何附加的外部信息才能适当地显示。本文将介绍如何通过C#/VB.NET代码,以编程方式将PDF转换为PDF/A-1A、2A、3A、1B、2B 和 3B兼容的PDF。
程序环境:
本次测试时,在程序中引入 Free Spire.PDF.dll 文件。
方法1:
将Free Spire.PDF for .NET下载到本地,解压,找到 BIN 文件夹下的 Spire.PDF.dll。然后在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径 BIN 文件夹下的 dll 文件添加引用至程序。
方法2::
通过NuGet安装。可通过以下 2 种方法安装:
1. 可以在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理 NuGet 包”,然后搜索“Free Spire.PDF”,点击“安装”。等待程序安装完成。
2. 将以下内容复制到 PM 控制台安装。
Install-Package FreeSpire.PDF -Version 8.6.0
将PDF转为PDF/A
将PDF转换为PDF/A-1A、2A、3A、1B、2B 和 3B兼容PDF的详细步骤如下:
- 指定输入文件路径和输出文件夹
- 创建一个 PdfStandardsConverter 实例并将输入文件作为参数传入。
- 使用 PdfStandardsConverter.ToPdfA1A() 方法将输入文件转换为 PdfA1A 一致性级别。
- 使用 PdfStandardsConverter.ToPdfA1B() 方法将输入文件转换为 PdfA1B 一致性级别。
- 使用 PdfStandardsConverter.ToPdfA2A() 方法将输入文件转换为 PdfA2A 一致性级别。
- 使用 PdfStandardsConverter.ToPdfA2B() 方法将输入文件转换为 PdfA2B 一致性级别。
- 使用 PdfStandardsConverter.ToPdfA3A() 方法将输入文件转换为 PdfA3A 一致性级别。
- 使用 PdfStandardsConverter.ToPdfA3B() 方法将输入文件转换为 PdfA3B 一致性级别。
完整代码
【C#】
using System;
using Spire.Pdf.Conversion; namespace ConvertPdf2PdfA
{
class Program
{
static void Main(string[] args)
{
//指定输入文档路径
String inputFile = "成都第31届世界大学生夏季运动会.pdf"; //指定输出文档的存放文件夹
String outputFolder = @"D:\VS2022项目\free PDF\bin\Debug\输出结果\"; //创建PdfStandardsConverter对象,传入输入文档路径
PdfStandardsConverter converter = new PdfStandardsConverter(inputFile); //转换为PdfA1A
converter.ToPdfA1A(outputFolder + "ToPdfA1A.pdf"); //转换为PdfA1B
converter.ToPdfA1B(outputFolder + "ToPdfA1B.pdf"); //转换为PdfA2A
converter.ToPdfA2A(outputFolder + "ToPdfA2A.pdf"); //转换为PdfA2B
converter.ToPdfA2B(outputFolder + "ToPdfA2B.pdf"); //转换为PdfA3A
converter.ToPdfA3A(outputFolder + "ToPdfA3A.pdf"); //转换为PdfA3B
converter.ToPdfA3B(outputFolder + "ToPdfA3B.pdf");
}
}
}
【VB.NET】
Imports Spire.Pdf.Conversion Namespace ConvertPdf2PdfA
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'指定输入文档路径
Dim inputFile = "成都第31届世界大学生夏季运动会.pdf" '指定输出文档的存放文件夹
Dim outputFolder = "D:\VS2022项目\free PDF\bin\Debug\输出结果\" '创建PdfStandardsConverter对象,传入输入文档路径
Dim converter As PdfStandardsConverter = New PdfStandardsConverter(inputFile) '转换为PdfA1A
converter.ToPdfA1A(outputFolder & "ToPdfA1A.pdf") '转换为PdfA1B
converter.ToPdfA1B(outputFolder & "ToPdfA1B.pdf") '转换为PdfA2A
converter.ToPdfA2A(outputFolder & "ToPdfA2A.pdf") '转换为PdfA2B
converter.ToPdfA2B(outputFolder & "ToPdfA2B.pdf") '转换为PdfA3A
converter.ToPdfA3A(outputFolder & "ToPdfA3A.pdf") '转换为PdfA3B
converter.ToPdfA3B(outputFolder & "ToPdfA3B.pdf")
End Sub
End Class
End Namespace
效果图

—本文完—
C#/VB.NET:如何将PDF转为PDF/A的更多相关文章
- C#/VB.NET 将PDF转为PDF/X-1a:2001
PDF/X-1a是一种PDF文件规范标准,在制作.使用PDF以及印刷时所需要遵循的技术条件,属于PDF/X-1标准下的一个子标准. PDF/X-1标准有由CGATS于1999年制定的PDF/X-1:1 ...
- Java 将PDF转为PDF/A
通过将PDF格式转换为PDF/A格式,可保护文档布局.格式.字体.大小等不受更改,从而实现文档安全保护的目的,同时又能保证文档可读.可访问.本篇文章,将通过Java后端程序代码展示如何将PDF转为符合 ...
- Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A
本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG ...
- C#/VB.NET 将PDF转为OFD
OFD,全称Open Fixed-layout Document ,是一种可存储.读取以及编辑的国家标准版式的电子文档格式,属于中国的一种自主文件格式,在安全性上有可靠保证.为突破国外技术在我们软硬件 ...
- 【C#/VB.NET】 将PDF转为SVG/Image, SVG/Image转PDF
SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形.它在放大或者改变尺寸的情况下其图形质量不会有所损失,且与 JPG 和 GIF 图像比起 ...
- C#/VB.NET 将PDF转为Excel
PDF文档可以避免可防⽌他⼈⽆意中触到键盘修改⽂件内容.但是在避免他人⽆意修改的同时也妨碍了正常的修改.如果你想处理或修改PDF文档中的数据,不妨试试用Excel来实现.Excel拥有强大的数据处理功 ...
- 如何通过 C#/VB.NET 将 PDF 转为 Word
众所周知,PDF 文档支持特长文件,集成度和安全可靠性都较高,可有效防止他人对 PDF 内容进行更改,所以在工作中深受大家喜爱.但是在工作中,我们不可避免的会对 PDF 文档进行修改或再编辑,这时我们 ...
- 将doc文件批量转为pdf文件
需要将不少doc文件转为pdf,WPS带有这种功能,但是鼠标点击次数太多以后整个人都变得很烦躁 用了一下午去搜这方面的工具软件,找到若干.有一些免费,有一些试用的,但总归就找到一个真正能用,虽说生成的 ...
- C# 将Excel转为PDF时自定义表格纸张大小
通过后端程序将Excel表格转为PDF格式时,直接转换后的PDF效果可能出现表格页面过小或者过大,导致页面内容分布不均.要改善转换后的文档效果,只需在转换前自定义表格纸张大小,即可调整转换后的PDF页 ...
- C# 将PDF转为线性化PDF
线性化PDF文件是PDF文件的一种特殊格式,可以通过Internet更快地进行查看.线性化的PDF,在页面数量很多的情况下,更能突出表现出快速浏览的优势.下面是通过后端.NET程序实现将PDF文件转为 ...
随机推荐
- 【pytest】执行测试不输出logging日志问题
[一] 今天更新了一波pytest,4.50 -> 6.2.3.执行了一波测试发现之前的logging输出不见了. 看了下启动参数 --log-cli-level=LOG_CLI_LEVEL 加 ...
- 【flask】建站经验随笔
[前端] 1.前端table标签中每行使用template中 {%for i in rows%} {% endfor %}来生成之后,如果想对每行进行一个button处理,此时如果使用jquery的$ ...
- 【摘】python和它的内置类型子类化
python和它的内置类型子类化 看个好玩的东西 class Folder(list): def __init__(self, name): self.name = name def dir(self ...
- Nacos 之 Distro 协议
1. 概述 Distro协议是阿里自研的一个最终一致性协议,继承了 Gossip 以及 Eureka 通信(PeerEurekaNodes)的优点并做进一步优化而出来的: 对于原生的Gossip,由于 ...
- 图模配置文件之 mdimport.ini
mdimport.ini文件是图模导入中最最最关键的一个配置文件,其中既包含图模导入程序model_import.model_debug相关的配置,也包含红黑图管理界面显示及应用相关的配置信息,还包含 ...
- AD使用积累 - AD原理图界面选中所有器件但不选中电气连接线
1.在随意一个器件上右键,选择查找相似对象. 2.在弹出的界面选择如下两项: 3.点击确定,会高亮所有元器件,这时再进行框选就可以只选中器件.
- 划分数据集时出现PermissionError: [Errno 13] Permission denied:
PermissionError: [Errno 13] Permission denied: [errno 13]权限被拒绝 错误的原因可能是文件找不到,或者被占用,或者无权限访问,或者打开的不是文件 ...
- 2.Vue模板语法
1.模板语法的概述 (1)如何理解前端渲染 将数据填充到HTML标签中,生成静态的HTML内容 2.前端渲染方式 (1)原生JS拼接字符串 (2)使用前端模板引擎 (3)使用Vue特有的模板语法 3. ...
- Matlab %肆
第四章:Graph Plot form 'Data' plot(x,y); plot(y); %x = [1-n], n = length(y) EG1: plot(cos(0:pi/20:2 ...
- HTML笔记(二) HTML标签元素
一 常用的头部元素标签 <head>元素包含了所有的头部标签元素. 1.<title> <title>标签定义了HTML文档的标题,在HTML/XHTML文档中是必 ...