Python 將PDF轉爲PDF/A、PDF/X,以及PDF/A轉回PDF

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章