PDF 파일을 처리하는 오픈 소스 Python 라이브러리
무료 Python API를 사용하면 PDF를 선형화하고 암호화된 PDF에 액세스할 수 있습니다. 처음부터 PDF 만들기, 한 PDF에서 다른 PDF로 페이지 복사, PDF 분할 또는 병합 등을 지원합니다.
PikePDF는 소프트웨어 개발자가 Python 응용 프로그램 내에서 PDF 파일로 작업할 수 있도록 하는 매우 간단한 Python PDF 라이브러리입니다. 강력한 PDF 조작 및 복구 라이브러리인 QPDF를 기반으로 합니다. PikePDF는 PDF 콘텐츠 변환 라이브러리이며 PDF 파일에 대한 저수준 액세스를 제공합니다. 즉, 사용자는 PDF 내부에 대한 지식과 PDF 사양에 대한 지식이 필요합니다. 라이브러리는 공개 소스이며 MIT 라이선스에 따라 공개적으로 사용할 수 있습니다. 라이브러리는 오픈 소스이며 MPL-2.0 라이선스에 따라 사용할 수 있습니다.
PikePDF는 PDF를 선형화하고 암호화된 PDF에 대한 액세스를 지원합니다. 그것은 처음부터 PDF 생성, 한 PDF에서 다른 PDF로 페이지 복사, PDF 분할 또는 병합, PDF에서 이미지 또는 텍스트 추출, PDF의 콘텐츠 교체, PDF 복구 지원, 페이지와 같은 PDF 관리와 관련된 매우 강력한 기능 세트를 포함했습니다. 설정 지원, PDF 메타데이터 관리, 암호로 보호된 작업, PDF XMP 메타데이터 편집, 기존 PDF 변환 등.
.
PikePDF 시작하기
PikePDF에는 Python 3.6 이상이 필요합니다. pip를 사용하여 PikePDF를 설치할 수 있습니다. 다음 명령을 사용하여 설치하십시오.
pip를 통해 PikePDF 설치
pip install pikepdf
Python을 통해 한 PDF에서 다른 PDF로 페이지 복사
오픈 소스 PikePDF 라이브러리는 소프트웨어 개발자가 단 몇 줄의 Python 코드로 한 PDF에서 다른 PDF로 페이지를 공동 지불할 수 있는 기능을 제공합니다. PDF 개체 간에 페이지를 복사하면 대상 PDF 파일 내에 원본 페이지의 단순 복사본이 생성되므로 페이지를 수정해도 원본 PDF 문서에는 영향을 미치지 않습니다. 특정 페이지를 사용자 정의 콘텐츠로 교체하는 것도 가능합니다. 특정 PDF 내에서 페이지를 복사하는 것도 가능합니다.
Python을 통해 PDF 문서 열기 및 조작
# PDF Documents Manipulation
from pikepdf import Pdf
new_pdf = Pdf.new()
with Pdf.open('sample.pdf') as pdf:
pdf.save('output.pdf')
# Copying pages from other PDFs
pdf = Pdf.open('../tests/resources/fourpages.pdf')
appendix = Pdf.open('../tests/resources/sandwich.pdf')
pdf.pages.extend(appendix.pages)
Python을 통한 PDF 분할 및 병합
PDF PikePDF 라이브러리는 소프트웨어 개발자가 기존 PDF 파일에 액세스하고 이를 여러 PDF 파일로 쉽게 분할할 수 있는 기능을 제공합니다. PDF를 분할하는 동안 필요한 것은 새 PDF가 대상 페이지를 보유해야 한다는 것뿐입니다. 또한 라이브러리는 각 페이지와 관련된 데이터를 전송하여 모든 페이지가 자체적으로 유지되도록 합니다. 라이브러리에는 여러 PDF 문서를 단일 문서로 병합하거나 연결하는 지원도 포함되어 있습니다. 몇 줄의 코드로 PDF 페이지의 순서를 바꿀 수도 있습니다.
Python을 통해 PDF 문서 분할 및 병합
# PDF Splitting
pdf = Pdf.open('../tests/resources/fourpages.pdf')
for n, page in enumerate(pdf.pages):
dst = Pdf.new()
dst.pages.append(page)
dst.save(f'{n:02d}.pdf')
# Combine Multiple PDF pages into a single One
from glob import glob
pdf = Pdf.new()
for file in glob('*.pdf'):
src = Pdf.open(file)
pdf.pages.extend(src.pages)
pdf.save('merged.pdf')
Python을 통해 PDF 문서 내의 이미지 관리
PDF PikePDF 라이브러리를 사용하면 소프트웨어 개발자가 Python 명령을 사용하여 PDF 파일 내의 이미지를 쉽게 처리할 수 있습니다. 라이브러리에는 PDF 페이지 내에서 이미지 복사, PDF 열기 및 보기, 이미지 크기 조정, PDF에서 이미지 조작, PDF에서 이미지 추출, 이미지 교체, PDF에서 이미지 삭제 등과 같은 이미지 처리와 관련된 몇 가지 중요한 기능이 포함되어 있습니다. .
Python을 통해 이미지 추출 및 PDF로 교체
# Extract Image & Replace PDF Images
import zlib
rawimage = pdfimage.obj
pillowimage = pdfimage.as_pil_image()
greyscale = pillowimage.convert('L')
greyscale = greyscale.resize((32, 32))
rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
rawimage.ColorSpace = Name("/DeviceGray")
rawimage.Width, rawimage.Height = 32, 32
Python을 통한 PDF 메타데이터 처리
PDF 메타데이터에는 작성자 이름, 작성 및 수정 날짜, 키워드, 저작권 정보 등과 같은 PDF 문서에 대한 매우 유용한 정보가 포함되어 있습니다. PDF PikePDF 라이브러리에는 메타데이터 액세스 및 읽기, 메타데이터 추출, PDF 문서에서 메타데이터 항목 삭제를 위한 완전한 기능이 포함되어 있습니다. 다음 코드 예제는 PDF 문서에서 메타데이터를 추출하는 방법을 보여줍니다.
Python을 통해 PDF 메타데이터를 추출하는 방법
# Extract PDF Metadata
import pikepdf
import sys
# get the target pdf file from the command-line arguments
pdf_filename = sys.argv[1]
# read the pdf file
pdf = pikepdf.Pdf.open(pdf_filename)
docinfo = pdf.docinfo
for key, value in docinfo.items():
print(key, ":", value)