PDF 라이브러리 기능

PDF 라이브러리 기능

PDF 라이브러리 기능

이 페이지는 Go용 Aspose.PDF FOSS의 주요 기능 영역을 요약합니다. 각 섹션은 완전한 코드 예제가 포함된 전용 개발자 가이드 페이지로 연결됩니다.


문서 관리

Document은(는) 중심 타입입니다. 열기(Open, OpenWithPassword), 생성(NewDocument), 저장(Save) 및 페이지 컬렉션 작업(Split, Append, Extract, PageCount)을 지원합니다. SetMetadata와 Metadata은 Info 사전 필드에 대한 읽기/쓰기 접근을 제공합니다.

doc, _ := pdf.Open("input.pdf")
pages, _ := doc.Split()
fmt.Printf("Split into %d pages\n", len(pages))

보안 및 암호화

EncryptionOptions은(는) Document.SetEncryption에 대한 단일 호출로 비밀번호 기반 암호화를 설정합니다. 지원되는 알고리즘: AES-128(기본), AES-256(ISO 32000-2 / PDF 2.0), 및 RC4-128. Permissions는 인쇄, 복사, 접근성 등 개별 작업을 독립적으로 제어합니다.

doc, _ := pdf.Open("doc.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
	UserPassword:  "user",
	OwnerPassword: "owner",
	Permissions:   &pdf.Permissions{AllowPrint: true},
})
doc.Save("doc_secured.pdf")

AcroForm 처리

Document.Form은 모든 필드에 접근할 수 있는 *Form을 반환합니다. 타입 어설션을 통해 특정 필드 유형을 드러낼 수 있습니다: TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField, 및 ButtonField. 필드 값은 기록되며, 외관은 PDF 뷰어에 의해 자동으로 재생성됩니다.

doc, _ := pdf.Open("form.pdf")
text := doc.Form().Field("name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")
doc.Save("form_filled.pdf")

테이블 레이아웃

Table, Row, 및 Cell는 페이지에 배치되는 그리드 레이아웃을 구축합니다. BorderInfo은 셀별 또는 전체 테이블에 대한 테두리 스타일을 설정합니다. MarginInfo는 패딩을 설정합니다. TextStyle, Font, Color, HAlign, 및 VAlign는 텍스트 표시를 제어합니다.


북마크 및 탐색

OutlineItemCollection은 단일 북마크를 나타냅니다. 제목, 굵게/기울임 스타일, 링크 색상 및 목적지(DestinationXYZ, DestinationFit, DestinationFitH)를 구성합니다. 중첩된 북마크는 장/섹션 계층 구조를 만듭니다. NamedDestinations은 이름으로 접근 가능한 재사용 가능한 페이지 대상을 제공합니다.


주석

AnnotationCollection은 페이지의 모든 주석을 보유합니다. 사용 가능한 유형에는 TextAnnotation, FreeTextAnnotation, StampAnnotation, HighlightAnnotation, LinkAnnotation, RedactAnnotation, InkAnnotation, LineAnnotation, SquareAnnotation, 및 CircleAnnotation이 포함됩니다.


이미지 처리

Image은(는) 임베디드 이미지 리소스를 나타냅니다. ImageInfo은 차원과 색 공간을 노출합니다. 이미지는 페이지에 직접 추가하거나 표 셀에 임베드할 수 있습니다. OptimizeImageOptions은 파일 크기 축소를 위한 압축 매개변수를 제공합니다.


이미지로 렌더링

BmpDevice, PngDevice, JpegDevice, GifDevice, 및 TiffDevice는 개별 PDF 페이지를 래스터 이미지로 렌더링합니다. 각 디바이스는 Resolution 값을 사용하여 구성되며, 출력물을 io.Writer에 기록하는 Render* 메서드를 노출합니다. RenderOptions은 렌더링 매개변수를 제어합니다 — 출력 해상도(DPI)와 배경 색상.

doc, _ := pdf.Open("report.pdf")
page, _ := doc.Page(1)
dev := pdf.NewPngDevice(pdf.Resolution{DPI: 150})
f, _ := os.Create("page1.png")
defer f.Close()
dev.Process(page, f)

텍스트 검색

SearchText은(는) 쿼리 문자열을 받아 SearchOptions하고 TextMatch 결과의 슬라이스를 반환합니다. 각 TextMatch은 일치한 텍스트, 페이지상의 경계 박스, 그리고 발견된 페이지 인덱스를 노출합니다.

doc, _ := pdf.Open("report.pdf")
matches, _ := doc.SearchText("invoice", pdf.SearchOptions{CaseInsensitive: true})
for _, m := range matches {
	fmt.Printf("Found %q on page %d\n", m.Text, m.PageNumber)
}

폼 평탄화

Document.Flatten은 모든 인터랙티브 폼 필드를 정적 콘텐츠로 변환합니다. 필드 값은 페이지 그래픽에 포함되어 폼 필드가 제거되며, 편집할 수 없는 PDF가 생성됩니다.

doc, _ := pdf.Open("form_filled.pdf")
doc.Flatten()
doc.Save("form_flat.pdf")

API Reference 요약

유형Purpose
Document핵심 문서 컨테이너 — 열기, 만들기, 저장, 분할, 병합
Page단일 페이지 접근 — 크기, 주석, 내용
FormAcroForm 컨테이너 — 필드 열거 및 접근
Table그리드 레이아웃 요소
EncryptionOptions비밀번호 및 알고리즘 구성
Permissions작업별 접근 제어 플래그
OutlineItemCollection북마크 트리 노드
AnnotationCollection페이지 주석 컨테이너
MetadataInfo dictionary 읽기/쓰기
Image임베디드 이미지 리소스
BmpDevicePDF 페이지를 BMP로 렌더링
PngDevicePDF 페이지를 PNG로 렌더링
JpegDevicePDF 페이지를 JPEG로 렌더링
TiffDevicePDF 페이지를 TIFF로 렌더링
GifDevicePDF 페이지를 GIF로 렌더링
RenderOptions렌더링 매개변수 — DPI 및 배경 색상
SearchOptions텍스트 검색 구성
TextMatch경계 상자를 포함한 단일 텍스트 검색 결과
LinearGradient벡터 형태의 선형 그라디언트 채우기
RadialGradient벡터 형태의 방사형 그라디언트 채우기

참조

 한국어