PDF/A和PDF/X是兩種有特定用途的PDF格式,具體檢視以下:
- PDF/A是一種用於長期存檔的PDF格式,它旨在確保文件的內容和格式在未來的訪問中保持不變。如果您需要對檔案進行長期存檔,比如法律檔案或檔案記錄,將其轉換為PDF/A格式是一個明智的選擇。
- PDF/X是一種用於印刷輸出的PDF格式,它旨在確保文件在列印時的準確性和一致性。PDF/X格式通常包括高解析度影像和準確的顏色資訊,如果您需要將檔案傳送給印刷商列印,將其轉換為PDF/X格式可以避免出現列印錯誤和質量問題。
總而言之,透過將PDF檔案轉換為這兩種格式,可以確保文件在未來的訪問或列印中保持最佳質量和準確性。本文將介紹如何使用Python將PDF轉換為PDF/A和PDF/X,以及如何將PDF/A格式轉換回標準的PDF格式。
本文中的轉換方法需要用到 Spire.PDF for Python 第三方庫,可使用以下命令安裝該庫:
pip install Spire.PDF
【示例1】Python 將PDF轉為PDF/A格式
PDF/A是ISO定義的PDF存檔標準,目前共有三種規範:PDF/A-1、PDF/A-2和PDF/A-3。每種規範包含兩種一致性級別(A或B),適用於不同的需求。Spire.PDF for Python支援將PDF轉換為PDF/A-1a, 2a, 3a, 1b, 2b, 3b,轉換程式碼如下:
from spire.pdf.common import * from spire.pdf import * # 建立PdfStandardsConverter類的物件,並傳入一個PDF文件作為引數 converter = PdfStandardsConverter("考核.pdf") # 將PDF轉為PDF/A-1a converter.ToPdfA1A("PdfA1A.pdf") # 將PDF轉為PDF/A-1b converter.ToPdfA1B("PdfA1B.pdf") # 將PDF轉為PDF/A-2a converter.ToPdfA2A("PdfA2A.pdf") # 將PDF轉為PDF/A-2b converter.ToPdfA2B("PdfA2B.pdf") # 將PDF轉為PDF/A-3a converter.ToPdfA3A("PdfA3A.pdf") # 將PDF轉為PDF/A-3b converter.ToPdfA3B("PdfA3B.pdf")
PDF/A示例圖:
【示例2】Python 將PDF轉為PDF/X-1a:2001
除了PDF/A格式外,Spire.PDF for Python還支援將PDF轉為PDF/X-1a:2001標準。該標準於2001年釋出,是PDF/X-1的一個子標準,被廣泛應用於印刷和出版領域。轉換程式碼如下:
from spire.pdf.common import * from spire.pdf import * # 建立PdfStandardsConverter類的物件,並傳入一個PDF文件作為引數 converter = PdfStandardsConverter("考核.pdf") # 將PDF轉為PDF/X-1a:2001 converter.ToPdfX1A2001("PDF轉PdfX1a.pdf"
PDF/X-1a:2001標準示例圖:
【示例3】Python 將PDF/A轉為PDF
Spire.PDF for Python提供的PDF/A轉PDF的實現思路是新建一個標準PDF檔案,然後將PDF/A檔案的內容繪製到新的PDF檔案中。實現程式碼如下:
from spire.pdf.common import * from spire.pdf import * # 載入PDF/A檔案 pdf = PdfDocument() pdf.LoadFromFile("ToPdfA1A.pdf") # 新建一個標準PDF檔案 newPdf = PdfNewDocument() newPdf.CompressionLevel = PdfCompressionLevel.none # 在新建PDF檔案中新增頁面,並將PDF/A檔案的內容繪製到新建PDF的相應頁面上 for i in range(pdf.Pages.Count): page = pdf.Pages.get_Item(i) size = page.Size newPdf = newDoc.Pages.Add(size, PdfMargins(0.0)) page.CreateTemplate().Draw(newPdf, 0.0, 0.0) # 儲存PDF檔案 fileStream = Stream("PdfA轉Pdf.pdf") newDoc.Save(fileStream) fileStream.Close() newDoc.Close(True)
透過上面3段示例程式碼,我們可以在Python中實現PDF到PDF/A和PDF/X、以及PDF/A到PDF的轉換。如果有問題可以前往論壇討論。
紅色水印的去除:
https://www.e-iceblue.cn/misc/temporary-license.html