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文件转为 ...
随机推荐
- docker-io安装报错
一般修改两个文件即可 1.文件 :/etc/docker/daemon.json { "storage-driver": "devicemapper" } 2. ...
- luogu 4886
点分治好题 统计距离正常点分治统计即可,我们只需考虑何时达到最优 有两种情况: 第一:代价最大的询问两个端点在不同的两个子树中 因为这种情况下,无论根向那个子树移动都会等价地增加到达另一个端点的代价, ...
- Day11-数组的使用
数组的使用 一.数组的使用 package com.array; public class ArrayDemo03 { public static void main(String[] args) { ...
- 第一讲:selenium快速入门
一.selenium目前住主流的web自动化测试框架: 1.资料丰富 资料丰富 2.测试岗位招聘要求,上板率非常之高 3.支持多语言(iava/ pythan/ go /js) ...
- scottrade 手机应用中英文翻译
Dashboard Watch List 自选股 MARKET & NEWS 市场 & 新闻 ALERTS 警告 MONEY MOVEMENT BRANCH LOCAT ...
- 【LeetCode_15】——三数之和
今天做了力扣中的一道经典题:三数之和.这题思路倒是很快想到,调逻辑可把我调得够呛,这也正说明我的刷题思维远远不够,比起我室友半个月刷300多题的思维差远了...革命尚未成功,同志仍需努力. 原题链接: ...
- software engineering homework 2
博客信息 沈阳航空航天大学计算机学院2020软件工程作业 作业要求 https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/1058 ...
- MySql 自动设置时间(自动获取时间,填充时间)
应用场景: 1.在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间: 2.在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意 ...
- web之jquery
jquery 插件 下载解压插件 加载jQuery 加载插件 插件样式 按照使用例子给元素添加类名,id,函数.
- 关于uniapp图片默认的空隙处理方案
display:block; 或者 display:flex;