Python을 사용하여 PDF 머리말과 꼬리말 관리하기
Contents
[
Hide
]
스타일이 적용된 텍스트 아티팩트 만들기
이 유틸리티 함수는 Python용 Aspose.PDF 를 사용하여 PDF 페이지용 재사용 가능한 텍스트 아티팩트를 만드는 방법을 설명합니다.글꼴 설정, 색상, 크기 및 정렬을 포함하여 일관된 서식을 사용하여 스타일이 지정된 머리글 또는 바닥글을 생성하도록 설계되었습니다.이 함수는 아티팩트 생성을 추상화하여 다양한 페이지 수준의 텍스트 장식에 재사용할 수 있도록 합니다.
- 아티팩트 오브젝트를 인스턴스화합니다.
- 아티팩트 텍스트 내용을 설정합니다.
- 텍스트 스타일 적용
- 정렬을 설정합니다.
- 구성된 아티팩트를 반환합니다.
from os import path
import aspose.pdf as ap
import sys
def _create_text_artifact(artifact_class, text):
"""Create a text artifact (header/footer) with common styling."""
artifact = artifact_class()
artifact.text = text
artifact.text_state.font_size = 14
artifact.text_state.font = ap.text.FontRepository.find_font("Arial")
artifact.text_state.foreground_color = ap.Color.navy
artifact.artifact_horizontal_alignment = ap.HorizontalAlignment.CENTER
return artifact
PDF에 머리글 추가
- 입력 PDF를 엽니다.
- “샘플 헤더”라는 텍스트로 헤더 아티팩트를 생성합니다.
- 첫 페이지에 추가합니다.
- 업데이트된 PDF를 저장합니다.
from os import path
import aspose.pdf as ap
import sys
def add_header_artifact(infile, outfile):
"""Add a header artifact to the first page of a PDF document."""
with ap.Document(infile) as document:
header = _create_text_artifact(ap.HeaderArtifact, "Sample Header")
document.pages[1].artifacts.append(header)
document.save(outfile)
PDF에 바닥글 추가
- 입력 PDF를 엽니다.
- “샘플 푸터”라는 텍스트로 푸터 아티팩트를 생성합니다.
- 첫 페이지에 추가합니다.
- 출력 파일을 저장합니다.
from os import path
import aspose.pdf as ap
import sys
def add_footer_artifact(infile, outfile):
"""Add a footer artifact to the first page of a PDF document."""
with ap.Document(infile) as document:
footer = _create_text_artifact(ap.FooterArtifact, "Sample Footer")
document.pages[1].artifacts.append(footer)
document.save(outfile)
머리글 또는 바닥글 아티팩트 삭제
- PDF를 엽니다.
- 페이지네이션 머리글 또는 바닥글로 표시된 아티팩트를 찾을 수 있습니다.
- 첫 페이지에서 삭제하세요.
- 정리한 문서를 저장합니다.
from os import path
import aspose.pdf as ap
import sys
def delete_header_footer_artifact(infile, outfile):
with ap.Document(infile) as document:
header_footers = [
artifact
for artifact in document.pages[1].artifacts
if artifact.type == ap.Artifact.ArtifactType.PAGINATION
and (
artifact.subtype == ap.Artifact.ArtifactSubtype.HEADER
or artifact.subtype == ap.Artifact.ArtifactSubtype.FOOTER
)
]
for art in header_footers:
document.pages[1].artifacts.delete(art)
document.save(outfile)