PDF/A是一種ISO標準的PDF文件格式版本,是為長期保存文件而設計的。它提供了一種工具,使電子文件在長時間之後依然以一種保留其外觀的方式重現,而不管該文件是用什麼工具和系統創建、儲存或製作的。這種保留方式使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
效果圖
—本文完—