PDF 라이터와 작업하기
PDF Writer 사용하기
Aspose.Words Python용 FOSS는 전용 렌더링 파이프라인을 통해 문서를 PDF로 내보냅니다. 파이프라인은 각 LDM 요소 — 단락, 실행, 도형 및 표 — 를 전문 렌더러를 사용해 PDF 출력으로 변환합니다.
기본 PDF 내보내기
로드된 문서를 LdmPdfWriter을(를) 사용해 PDF로 저장합니다:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
doc = aw.Document("input.docx")
LdmPdfWriter().write(doc, "output.pdf")로드 시 입력 형식이 자동으로 감지됩니다 — Document은 DOCX, DOC, RTF, TXT 및 Markdown 파일을 지원하며, LdmPdfWriter은 입력 형식에 관계없이 항상 PDF 출력을 생성합니다:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
doc = aw.Document("input.doc")
LdmPdfWriter().write(doc, "output.pdf")PdfSaveOptions 사용하기
작성자의 생성자에 PdfSaveOptions을 전달하여 PDF 출력을 구성합니다:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
from aspose.words_foss.saving import PdfSaveOptions
doc = aw.Document("input.docx")
opts = PdfSaveOptions()
LdmPdfWriter(opts).write(doc, "output.pdf")PDF 렌더링 파이프라인
PDF 작성기는 내부적으로 네 개의 특수 렌더러를 사용합니다:
| Renderer | Handles |
|---|---|
ParagraphRenderer | LDM 단락을 PDF로 렌더링합니다 — 정렬, 간격, 들여쓰기를 처리합니다 |
RunRenderer | 서식이 적용된 실행을 렌더링합니다 — 글꼴, 색상 및 링크가 포함된 텍스트 세그먼트 |
ShapeRenderer | 도형, 이미지 및 배치된 요소를 렌더링합니다 |
TableRenderer | LDM 테이블을 렌더링합니다 — 셀 테두리, 병합 및 패딩 |
이 렌더러들은 최종 PDF를 생성하기 위해 함께 작동합니다. 여러분은 LdmPdfWriter를 통해 간접적으로 이들과 상호작용합니다.
여러 형식을 PDF로 변환하기
PDF 작성기는 지원되는 모든 리더(DOCX, DOC, RTF, TXT, Markdown)로부터 입력을 받아들입니다:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
writer = LdmPdfWriter()
for input_file in ["report.docx", "legacy.doc", "notes.rtf", "readme.txt"]:
doc = aw.Document(input_file)
pdf_name = input_file.rsplit(".", 1)[0] + ".pdf"
writer.write(doc, pdf_name)
print(f"Saved {pdf_name}")팁 및 모범 사례
- 기본값을 넘어 PDF 출력을 맞춤 설정해야 할 때
PdfSaveOptions를 사용하십시오. - 배치 변환의 경우, 루프에서 로드하고 저장하십시오 — 렌더러는 상태가 없으며 문서 간에 재사용할 수 있습니다.
- PDF 작성기는 원본 문서의 굵게, 기울임, 밑줄, 글꼴 크기 및 색상을 보존합니다.
- 표 셀 병합 (
CellMerge)이 PDF 출력에서 올바르게 렌더링됩니다. - 프로덕션에 배포하기 전에 대표 문서로 테스트하세요 — 복잡한 레이아웃은 조정이 필요할 수 있습니다.
일반적인 문제
| 문제 | 원인 | 해결 방법 |
|---|---|---|
| PDF에서 글꼴이 다름 | 시스템에 글꼴이 없음 | 필요한 글꼴을 설치하거나 글꼴 대체를 사용하십시오 |
| 표가 정렬되지 않음 | 복잡한 중첩 표 구조 | 소스 문서에서 표 중첩을 단순화하기 |
| 이미지 누락 | 이미지 데이터가 소스에 포함되지 않음 | 이미지가 외부 링크가 아니라 포함되도록 보장 |
FAQ
어떤 입력 형식을 PDF로 내보낼 수 있나요?
DOCX, DOC, RTF, TXT 및 Markdown 파일은 모두 로드하여 PDF로 저장할 수 있습니다.
PDF 작성기가 페이지 머리글과 바닥글을 지원하나요?
소스 문서의 헤더와 푸터가 LDM에 존재할 경우 PDF 출력에 포함됩니다.
PDF 페이지 크기와 방향을 제어할 수 있나요?
소스 문서의 페이지 설정 속성(크기, 방향, 여백)은 PDF에 그대로 유지됩니다. 이러한 값을 변경하려면 저장하기 전에 PageSetup를 Document 섹션에서 수정하세요.
API Reference 요약
| 클래스 / 메서드 | 설명 |
|---|---|
PdfSaveOptions | 문서를 PDF로 저장하는 옵션 |
ParagraphRenderer | LDM 단락을 PDF로 렌더링합니다 |
RunRenderer | 서식이 지정된 실행(글꼴, 색상, 링크가 포함된 텍스트)을 렌더링합니다 |
ShapeRenderer | 도형, 이미지 및 배치된 요소를 렌더링합니다 |
TableRenderer | LDM 테이블을 PDF로 렌더링합니다 |
SaveFormat.PDF | PDF 저장 형식 상수 |
LdmPdfWriter().write(doc, path) | 문서를 PDF로 저장 |