오늘
python tutorial 칼럼에는 Python으로 PDF를 작동하는 여러 가지 방법이 요약되어 있습니다.
01
서문
안녕하세요 여러분, 저는 이미 Python 운영 PDF에 대한 사례를 작성했습니다.PDF 일괄 병합 이 사례의 원래 의도는 단지 편리한 스크립트를 제공하는 것입니다. PDF 처리를 위한 매우 실용적인 모듈인 PyPDF2과 관련된 원리에 대해 자세히 설명합니다. 이 기사에서는 주로
02
기본 작동
PyPDF2 모듈을 가져오는 코드는 다음과 같습니다.
from PyPDF2 import PdfFileReader, PdfFileWriter复制代码
여기에서 두 가지 방법을 가져옵니다.
PdfFileReader입니다.
Merge
첫 번째 작업은 5개의 송장 PDF를 10페이지로 병합
하는 것입니다. 여기서 독자와 작가는 어떻게 협력해야 할까요?논리는 다음과 같습니다.
읽는 사람은 모든 PDF를 한 번 읽습니다.
독립적인 단계가 아닙니다
. 대신 독자가 PDF를 다 읽은 후에는 PDF의 모든 페이지를 순환하여 페이지별로 작성자에게 전달합니다. . 장치. 마지막으로 모든 읽기 작업이 완료될 때까지 기다렸다가 출력하세요.코드를 보면 아이디어가 더 명확해질 수 있습니다.
from PyPDF2 import PdfFileReader, PdfFileWriter path = r'C:\Users\xxxxxx' pdf_writer = PdfFileWriter() for i in range(1, 6): pdf_reader = PdfFileReader(path + '/INV{}.pdf'.format(i)) for page in range(pdf_reader.getNumPages()): pdf_writer.addPage(pdf_reader.getPage(page)) with open(path + r'\合并PDF\merge.pdf', 'wb') as out: pdf_writer.write(out)复制代码
PDF에 액세스할 때마다 새로운 작성자가 생성
되어 각 독자가 작성자에게 제공한 콘텐츠가반복적으로 덮어쓰기되어 목표를 달성할 수 없게 됩니다. !루프 본문 시작 부분의 코드:
for i in range(1, 6): pdf_reader = PdfFileReader(path + '/INV{}.pdf'.format(i))复制代码
glob
모듈을 사용하는 것입니다.import glob for file in glob.glob(path + '/*.pdf'): pdf_reader = PdfFileReader(path)复制代码
range를 사용하면 리더의 모든 페이지를 탐색할 수 있습니다. pdf_writer.addPage(pdf_reader.getPage(page))
현재 페이지를 작가에게 넘겨줄 수 있습니다.마지막으로 with
를 사용하여 새 PDF를 만들고 작성자의pdf_writer.write(out) 메소드를 통해 출력합니다. 04
Split
병합 작업에서 독자와 작가의 협력을 이해한다면 분할은 이해하기 쉽습니다. 여기서는 INV1.pdf
를 2개로 분할합니다. PDF 문서를 예로 들면, 먼저 논리를 살펴보겠습니다.읽는 사람이 PDF 문서를 읽습니다
from PyPDF2 import PdfFileReader, PdfFileWriter path = r'C:\Users\xxx' pdf_reader = PdfFileReader(path + '\INV1.pdf') for page in range(pdf_reader.getNumPages()): # 遍历到每一页挨个生成写入器 pdf_writer = PdfFileWriter() pdf_writer.addPage(pdf_reader.getPage(page)) # 写入器被添加一页后立即输出产生pdf with open(path + '\INV1-{}.pdf'.format(page + 1), 'wb') as out: pdf_writer.write(out)复制代码
Watermark
이번 작업은 INV1.pdf
copy 모듈을 추가로 사용해야 합니다. 자세한 설명은 아래 그림을 참조하세요.
워터마크 추가는 기본적으로 워터마크가 있는 PDF 페이지와 워터마크가 필요한 각 페이지를 병합하는 것을 의미합니다.
워터마크가 필요한 PDF에는 여러 페이지가 있을 수 있고 워터마크가 있는 PDF에는 한 페이지만 있으므로 직접 추가 워터마크가 있는 PDF를 병합할 때 첫 번째 페이지를 추가하면 워터마크가 있는 PDF 페이지가 사라지는 것을 추상적으로 이해할 수 있습니다. 따라서
직접 병합할 수는 없지만워터마크가 있는 PDF 페이지는 나중에 사용할 수 있도록 새 페이지(new_page)에 지속적으로 복사한 다음 .mergePage 방법을 사용하여 각 페이지의 병합을 완료해야 합니다. 병합된 PDF 페이지를 병합하여 최종 통합 출력을 위해 페이지가 작성자에게 전달됩니다.
.mergePage사용 정보: 아래 페이지에 나타납니다.mergePage(위 페이지에 나타남), 최종 효과 06
암호화암호화는 매우 간단합니다. 기억하세요:
"암호화는 작성자 암호화를 위한 것입니다"따라서
pdf_writer.encrypt(비밀번호)만 호출하면 됩니다. 관련 작업이 완료되었습니다단일 PDF를 다음과 같이 암호화합니다. 예:
외에도 Python을 사용하여 다음을 수행할 수도 있습니다. Excel과 Word를 결합하여 더 많은 자동화 요구 사항을 달성하세요. 이러한 기능은 독자가 직접 개발할 수 있습니다. 설치 패키지, PDF, 학습 동영상이 포함된 Python 리소스 공유 Junyang 1075110200 이곳은 Python 학습자를 위한 모임 장소입니다. 초급자도 고급자도 환영합니다마지막으로 Python의 핵심 측면 중 하나를 모두가 이해할 수 있기를 바랍니다. 사무 자동화
일괄 작업 - 손을 자유롭게 하고 복잡한 작업을 자동화하세요!더 많은 관련 무료 학습 권장사항:
python 튜토리얼(동영상)
위 내용은 Python으로 PDF를 작동하는 여러 가지 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!