파이썬에서 PDF 페이지 자르기
Contents
[
Hide
]
페이지 속성 가져오기
PDF 파일의 각 페이지에는 너비, 높이, 블리드, 크롭 및 트림박스와 같은 다양한 속성이 있습니다.파이썬용 Aspose.PDF 를 사용하면 이러한 속성에 액세스할 수 있습니다.
보이는 페이지 영역을 줄이거나, 인쇄 워크플로에 사용할 파일을 준비하거나, PDF 문서의 페이지 상자 형상을 검사해야 할 때 이 페이지를 사용하십시오.
- media_box: 미디어 상자는 가장 큰 페이지 상자입니다.문서를 포스트스크립트 또는 PDF로 인쇄할 때 선택한 페이지 크기 (예: A4, A5, US Letter 등) 에 해당합니다.즉, 미디어 상자는 PDF 문서를 표시하거나 인쇄하는 데 사용되는 미디어의 실제 크기를 결정합니다.
- bleed_box: 문서에 블리드가 있는 경우 PDF에도 블리드 박스가 표시됩니다.블리드는 페이지 가장자리를 벗어나는 색상 (또는 아트워크) 의 양입니다.문서를 인쇄하고 크기에 맞게 잘라낼 때 (“트리밍”) 잉크가 페이지 가장자리까지 들어가도록 하는 데 사용됩니다.페이지의 트리밍이 잘못되어도 (트림 표시가 약간 잘려서) 페이지에 흰색 가장자리가 나타나지 않습니다.
- trim_box: 트림 상자는 인쇄 및 트리밍 후 문서의 최종 크기를 나타냅니다.
- art_box: 아트 박스는 문서에 있는 페이지의 실제 내용 주위에 그려진 상자입니다.이 페이지 상자는 다른 응용 프로그램에서 PDF 문서를 가져올 때 사용됩니다.
- crop_box: 크롭 박스는 Adobe Acrobat에서 PDF 문서가 표시되는 “페이지” 크기입니다.일반 보기에서는 오려내기 상자의 내용만 Adobe Acrobat에 표시됩니다.이러한 속성에 대한 자세한 설명은 Adobe.Pdf 사양, 특히 10.10.1 페이지 경계를 참조하십시오.
첫 번째 자르기 Page 파이썬용 Aspose.PDF 파일을 사용하여 PDF를 특정 사각형 영역으로 변환합니다.이 함수는 여러 페이지 상자를 조정합니다.crop_box, trim_box, art_box, 및 bleed_box—일관된 시각적 결과를 보장합니다.자르기는 불필요한 여백을 제거하거나 페이지의 특정 영역에 초점을 맞추는 데 유용할 수 있습니다.
- PDF를 다음과 같이 로드합니다.
Document(사용ap.Document()). - 를 사용하여 자르기 사각형을 정의합니다.
Rectangle원하는 좌표 (포인트) 로 - 설정
Page의crop_box,trim_box,art_box, 및bleed_box정의된 직사각형으로. - 수정한 내용 저장
Document새 출력 파일에
import sys
import aspose.pdf as ap
from os import path
def crop_page(input_file_name, output_file_name):
document = ap.Document(input_file_name)
new_box = ap.Rectangle(200, 220, 2170, 1520, True)
document.pages[1].crop_box = new_box
document.pages[1].trim_box = new_box
document.pages[1].art_box = new_box
document.pages[1].bleed_box = new_box
document.save(output_file_name)
이 예제에서는 샘플 파일을 사용했습니다. 이리.처음에는 페이지가 그림 1과 같이 보입니다.

변경 후에는 페이지가 그림 2와 같이 표시됩니다.

첫 이미지 내용을 기반으로 PDF 페이지 자르기
첫 번째 자르기 Page 페이지에서 찾은 첫 번째 이미지의 경계를 기반으로 동적으로를 사용하여 ImagePlacementAbsorber, 스크립트는 첫 번째 이미지를 식별하고 페이지의 이미지를 조정합니다. crop_box 이미지의 크기와 일치하도록.이 방법은 미리 정의된 좌표가 아닌 특정 시각적 콘텐츠에 초점을 맞추려는 경우에 유용합니다.
- PDF를 다음과 같이 로드합니다.
Document. - 를 사용하여 첫 페이지에서 이미지 찾기
ImagePlacementAbsorber. - 이미지가 존재하는지 확인:
- 수정한 내용 저장
Document지정된 출력 파일에
import sys
import aspose.pdf as ap
from os import path
def crop_page_by_content(input_file_name, output_file_name):
document = ap.Document(input_file_name)
# Find first image on first page using ImagePlacementAbsorber
absorber = ap.ImagePlacementAbsorber()
document.pages[1].accept(absorber)
if len(absorber.image_placements) > 0:
first_image = absorber.image_placements[1]
document.pages[1].crop_box = first_image.rectangle
else:
print("No images found on the first page")
document.save(output_file_name)