Document

개요

Document은 Aspose.PDF FOSS for Go에 포함된 타입입니다.

Document는 PDF 문서입니다.

이 타입은 Go 프로그램에서 Document 객체를 다루기 위한 88개의 메서드를 제공합니다. 사용 가능한 메서드에는 AddBlankPage, AddBlankPageFromFormat, AddLayer, AddSVGObjectWatermark, AddSVGWatermark, AddSVGWatermarkFromStream, AddStamp, AddTextWatermark, Append, ApplyRedactions, Booklet, ChangePassword 및 추가 76개의 메서드가 포함됩니다. Aspose.PDF FOSS for Go 패키지를 설치하면 모든 공개 멤버에 Go 애플리케이션 어디서든 접근할 수 있습니다.

메서드

시그니처설명
PageCount() → intPageCount은 문서의 페이지 수를 반환합니다.
Pages() → []*PagePages는 문서의 모든 페이지에 대한 실시간 뷰를 제공합니다.
Page(n: int) → (*Page, error)Page는 주어진 1 기반 번호에 해당하는 페이지에 대한 실시간 뷰를 제공합니다.
Append(others: ...*Document)Append는 다른 문서들의 모든 페이지를 이 문서에 추가하고, 객체들을 병합합니다.
RemoveUnusedObjects() → intRemoveUnusedObjects은(는) 문서에서 어떤 페이지에서도 도달할 수 없는 객체들을 제거합니다.
SetPassword(userPassword: string)SetPassword은(는) 저장 시 문서가 암호화되도록 설정합니다.
SetPermissions(p: Permissions)SetPermissions은(는) 암호화된 문서에 대해 뷰어가 허용하는 작업(인쇄, 복사, 수정 등)을 설정합니다.
Permissions() → (Permissions, bool)Permissions는 현재 이 문서에 구성된 뷰어 권한 설정을 반환하며, 문서가 암호화되도록 설정되어 있는지 여부를 나타내는 불리언 값도 포함합니다.
RemoveEncryption()RemoveEncryption은(는) 이전에 설정된 모든 암호화(비밀번호 및 권한)를 삭제하여 다음 저장 시 일반 텍스트 PDF가 생성됩니다.
ChangePassword(newUserPassword: string) → errorChangePassword은(는) 다음 저장 시 새 비밀번호로 문서를 다시 암호화하며, 현재 암호화 알고리즘과 권한을 유지합니다.
SetEncryption(opts: EncryptionOptions)SetEncryption은(는) EncryptionOptions 구조체를 사용해 모든 암호화 관련 설정을 한 번에 구성합니다.
WriteTo(w: io.Writer) → (int64, error)WriteTo은(는) 문서를 w에 씁니다.
Save(outputPath: string) → errorSave는 문서를 outputPath에 씁니다.
AddBlankPage(width: float64) → errorAddBlankPage은 문서 끝에 빈 페이지를 추가합니다.
AddBlankPageFromFormat(format: PageFormat) → errorAddBlankPageFromFormat은 사전 정의된 페이지 형식을 사용하여 빈 페이지를 추가합니다.
InsertBlankPage(position: int, width: float64) → errorInsertBlankPage은 주어진 1 기반 위치에 빈 페이지를 삽입합니다.
InsertBlankPageFromFormat(position: int, format: PageFormat) → errorInsertBlankPageFromFormat은(는) 미리 정의된 페이지 형식을 사용하여 지정된 위치에 빈 페이지를 삽입합니다.
Rotate(angle: RotationAngle, pageNums: ...int) → errorRotate는 선택한 페이지를 시계 방향으로 각도에 따라 회전합니다 (Rotate90, Rotate180, 또는 Rotate270).
SetRotation(angle: RotationAngle, pageNums: ...int) → errorSetRotation은(는) 선택한 페이지를 정확히 해당 각도(Rotate0, Rotate90, Rotate180, 또는 Rotate270)로 설정하여 기존 회전을 모두 대체합니다.
Reorder(order: []int) → errorReorder는 1부터 시작하는 페이지 번호 슬라이스인 order에 따라 페이지를 재배열합니다.
DeletePage(n: int) → errorDeletePage는 지정된 1 기반 번호의 페이지를 제거합니다.
DeletePages(pageNums: ...int) → errorDeletePages는 지정된 1 기반 페이지 번호들의 페이지를 제거합니다.
Split() → ([]*Document, error)Split은 문서의 각 페이지를 별개의 *Document로 반환합니다.
Extract(ranges: ...PageRange) → (*Document, error)Extract는 지정된 범위에 포함된 페이지만을 포함하는 새로운 Document를 반환합니다.
EmbeddedFiles() → *EmbeddedFilesEmbeddedFiles는 문서 수준의 임베디드 파일 컬렉션을 반환합니다.
Flatten() → errorFlatten은 문서의 인터랙티브 폼 필드를 정적 페이지 콘텐츠로 구워 AcroForm를 제거하여, 결과는 동일하게 렌더링되지만 더 이상 입력할 수 없습니다.
NewFlow(opts: FlowOptions) → *FlowNewFlow는 문서 d에 렌더링되는 흐름을 생성합니다.
LoadFont(path: string) → (Font, error)LoadFont는 TTF 파일을 읽고, 구문 분석한 뒤 문서에 임베드하며, TextStyle.Font에서 사용할 수 있는 Font를 반환합니다.
LoadFontFromStream(r: io.Reader) → (Font, error)LoadFontFromStream은 LoadFont와 비슷하지만 io.Reader에서 읽습니다.
LoadFontByName(family: string, bold: bool) → (Font, error)LoadFontByName은 패밀리 이름(선택적 굵게/기울임 스타일 포함)으로 글꼴을 FontRepository을 통해 찾아냅니다 — 먼저 AddFontFolder / AddFontFile에 등록된 폴더와 파일을, 그 다음 운영체제의 글꼴 디렉터리를 검색하고 — 일치하는 글꼴을 문서에 임베드한 뒤, TextStyle.Font에서 사용할 수 있는 Font를 반환합니다.
SubsetFonts() → (int, error)SubsetFonts은 ( LoadFont을 통해 로드된) 모든 임베드된 TTF를 실제로 그려지는 글리프만 남도록 축소하고, 각 /FontFile2를 재구성된 서브셋 프로그램으로 교체하며 CIDFont의 /CIDToGIDMap을 /Identity에서 원래 글리프 ID를 (컨텐츠 스트림에서 CID로 그대로 사용) 압축된 서브셋 글리프 ID에 매핑하는 스트림으로 전환합니다.
Form() → *FormForm은 문서의 AcroForm을 반환합니다.
CreateForm(width: float64) → *XFormCreateForm은(는) 지정된 크기(포인트)의 빈 Form XObject를 생성합니다.
ImportForm(form: *XForm) → (*XForm, error)ImportForm은(는) 다른 문서에서 Form XObject(및 해당 전체 리소스 그래프: 글꼴, 이미지, 중첩 폼, …)를 복사하여 이 문서에 삽입하고, Page.AddForm으로 배치할 수 있는 새로운 XForm을 반환합니다.
ConvertToGrayscale() → errorConvertToGrayscale은(는) 문서를 제자리에서 그레이스케일로 변환합니다: 콘텐츠 스트림(텍스트, 벡터 그래픽)에서 설정된 모든 디바이스 색상, 모든 래스터 이미지, 쉐이딩 및 주석 색상이 그 밝기 회색으로 매핑됩니다.
SaveHTML(outputPath: string, opts: ...HTMLSaveOptions) → errorSaveHTML은(는) 문서를 HTML 파일로 저장합니다 — 기본적으로 자체 포함됩니다; ResourceDir/ResourceWriter를 사용하면 무거운 부분이 외부 파일이 되고, SplitPages을 사용하면 각 페이지가 별개의 _p.html 파일이 됩니다.
WriteHTML(w: io.Writer, opts: ...HTMLSaveOptions) → errorWriteHTML은(는) 문서를 단일 자급식 HTML 파일로 w:에 페이지당 작성하고, 텍스트 레이어 아래에 래스터 배경(HTMLModeFaithful에서는 투명, HTMLModeText에서는 보임)과 링크-주석 오버레이를 포함합니다.
ExtractImages() → ([][]Image, error)ExtractImages은(는) 모든 페이지의 이미지를 반환합니다(페이지당 한 슬라이스).
ImageInfos() → ([][]ImageInfo, error)ImageInfos은(는) 픽셀 데이터를 디코딩하지 않고 모든 페이지에 대한 이미지 메타데이터를 반환합니다(페이지당 한 슬라이스).
OptimizeImages(opts: OptimizeImageOptions) → (int, error)OptimizeImages은(는) 문서의 모든 이미지를 최적화하여 파일 크기를 줄입니다.
NUp(opts: NUpOptions) → (*Document, error)NUp은 이 문서의 페이지를 행×열 그리드의 더 큰 시트에 배치한 새로운 Document를 반환합니다 (예:
Booklet(opts: BookletOptions) → (*Document, error)Booklet은 이 문서의 페이지를 두 페이지씩 배치하고, saddle-stitch 제본에 맞게 재배열한 새로운 Document를 반환합니다: 양면 인쇄하고, 스택을 반으로 접으며, 페이지가 순서대로 읽히도록 합니다.
JavaScript() → *JavaScriptCollectionJavaScript은(는) 문서 수준의 JavaScript 컬렉션을 반환합니다.
SaveLinearized(outputPath: string) → errorSaveLinearized은(는) 문서를 outputPath에 선형화된 (“fast web view”) PDF (ISO 32000-1 Annex F) 형태로 기록합니다: 첫 페이지의 객체와 힌트 테이블이 앞에 위치하여 뷰어가 전체 파일이 다운로드되기 전에 페이지 1을 렌더링할 수 있습니다.
WriteToLinearized(w: io.Writer) → (int64, error)WriteToLinearized는 문서를 선형화된 PDF로 w에 기록합니다 (io.WriterTo-스타일 계약을 구현함).
Info() → (DocumentInfo, error)Info는 이 문서의 Info-dictionary 메타데이터를 반환합니다.
SetInfo(info: DocumentInfo)SetInfo는 문서의 Info 사전을 주어진 메타데이터로 교체합니다.
ClearInfo()ClearInfo는 Info 사전을 완전히 제거합니다.
NamedDestinations() → *NamedDestinationsNamedDestinations는 문서의 이름이 지정된 목적지 컬렉션을 반환합니다.
OpenAction() → ActionOpenAction는 문서가 열릴 때 뷰어가 실행하는 동작을 반환합니다 (/Catalog/OpenAction은 ISO 32000-1 §12.3.2 / §12.6.1에 따름), 설정되지 않은 경우 nil을 반환합니다.
SetOpenAction(act: Action)SetOpenAction는 문서가 열릴 때 실행되는 동작을 설정합니다.
RemoveOpenAction()RemoveOpenAction는 모든 /Catalog/OpenAction을 삭제합니다.
AddLayer(name: string) → *LayerAddLayer은(는) name이라는 이름의 새로운 레이어(OCG)를 생성하고 문서의 optional-content 속성에 등록합니다.
Layers() → []*LayerLayers는 문서의 레이어(OCG)를 /OCProperties/OCGs 순서대로 반환합니다.
Outlines() → *OutlineItemCollectionOutlines는 문서의 최상위 개요 컬렉션을 반환합니다.
SetPageLabels(ranges: []PageLabelRange) → errorSetPageLabels은(는) 문서의 /PageLabels 번호 트리를 설치하여 PDF 뷰어가 탐색 창 및 페이지 표시기에 “i, ii, 1, 2, …“와 같은 레이블을 표시하도록 합니다.
ClearPageLabels()ClearPageLabels 은 문서의 /PageLabels 항목을 제거합니다.
Paragraphs() → ([]PageMarkup, error)Paragraphs는 모든 페이지의 구조화된 텍스트를 반환합니다.
ConvertToPDFA(format: PDFAFormat) → (*PDFAValidationReport, error)ConvertToPDFA 은 문서를 PDF/A “b”-수준 적합성 프로파일에 맞게 조정하고, 남아 있는 위반 사항을 설명하는 검증 보고서를 반환합니다.
ValidateRedactions() → errorValidateRedactions 은 최소 하나의 RedactAnnotation 가 있는 모든 페이지에 대해 사전 실행 드라이런 파싱 가능성 검사를 수행합니다.
ApplyRedactions() → errorApplyRedactions은(는) 모든 /Redact 주석의 /QuadPoints 안에 있는 콘텐츠(텍스트 글리프, 이미지 XObject, 경로)를 파괴적으로 제거합니다 (/Rect는 /QuadPoints가 비어 있을 경우).
RenderImage(pageNum: int, opts: RenderOptions) → (image.Image, error)RenderImage은(는) 1부터 시작하는 페이지 번호를 이미지로 렌더링합니다.
RenderTIFF(w: io.Writer, opts: RenderOptions, pageNums: ...int) → errorRenderTIFF은(는) 문서를 단일 다중 페이지 TIFF로 렌더링하여 w에 씁니다.
ReplaceText(old: string, opts: ...ReplaceOptions) → (int, error)ReplaceText은(는) 모든 페이지에서 old의 모든 발생을 replacement로 교체하고, 교체된 총 개수를 반환합니다.
Sign(opts: SignOptions) → errorSign은 다음 Save/WriteTo에 적용되는 디지털 서명을 구성합니다.
VerifySignatures() → ([]SignatureVerification, error)VerifySignatures은 문서 내 모든 디지털 서명을 검증하고 서명 필드당 하나의 결과를 문서 순서대로 반환합니다.
AddStamp(s: Stamp, pageNums: ...int) → errorAddStamp은 지정된 1부터 시작하는 페이지(지정되지 않은 경우 모든 페이지)에 스탬프를 그립니다 — 워터마크, 머리글, 바닥글 및 페이지 번호에 편리합니다.
LoadSVG(path: string) → (*SVG, error)LoadSVG은 SVG 파일을 한 번 읽고 파싱하여 *SVG를 반환합니다. 이 *SVG는 Page.AddSVGObject 또는 Document.AddSVGObjectWatermark에 여러 번 전달해도 다시 파싱하지 않아도 됩니다.
LoadSVGFromStream(r: io.Reader) → (*SVG, error)LoadSVGFromStream은 LoadSVG의 io.Reader 변형입니다.
AddSVGWatermark(path: string, pageNums: ...int) → errorAddSVGWatermark은 모든 페이지에 SVG 워터마크를 적용합니다(pageNums가 비어 있을 때) 또는 지정된 1부터 시작하는 페이지 번호에 적용합니다.
AddSVGWatermarkFromStream(r: io.Reader, pageNums: ...int) → errorAddSVGWatermarkFromStream은 AddSVGWatermark의 io.Reader 변형입니다.
SetSVGFontResolver(fn: SVGFontResolver)SetSVGFontResolver은 커스텀 리졸버를 설치합니다.
AddSVGObjectWatermark(svg: *SVG, pageNums: ...int) → errorAddSVGObjectWatermark은 사전 파싱된 SVG를 워터마크 콘텐츠로 사용합니다.
TaggedContent() → *TaggedContentTaggedContent은 문서의 태그된 콘텐츠 페이사드를 반환하며, 최초 호출 시 구조 트리와 /MarkInfo, /ViewerPreferences, /StructTreeRoot 카탈로그 항목을 생성합니다.
ExtractText(opts: ...TextExtractOptions) → ([]string, error)ExtractText은 각 페이지의 텍스트 콘텐츠를 반환합니다(페이지당 하나의 항목, 0부터 인덱스).
AddTextWatermark(text: string, style: TextStyle, pageNums: ...int) → errorAddTextWatermark은 문서의 선택된 페이지에 텍스트 워터마크를 추가합니다.
ExtractTextWithLayout() → ([][]TextLine, error)ExtractTextWithLayout은(는) 각 페이지에 대한 구조화된 텍스트 라인을 반환합니다.
SearchText(query: string, opts: ...SearchOptions) → ([]TextMatch, error)SearchText은(는) 문서의 모든 페이지에서 쿼리의 모든 발생을 찾아, 읽기 순서대로 페이지별로 일치 항목을 반환합니다.
GenerateTOC(opts: ...TOCOptions) → (int, error)GenerateTOC은(는) 문서의 개요(북마크) 트리에서 목차를 생성하고 이를 문서 앞에 새로운 페이지(들)로 삽입합니다.
ValidatePDFA(format: PDFAFormat) → *PDFAValidationReportValidatePDFA은(는) 문서를 PDF/A “b”-레벨 적합성 프로파일과 비교 검사하고 위반 사항 보고서를 반환합니다.
ValidatePDFUA() → *PDFUAValidationReportValidatePDFUA는 PDF/UA-1 (ISO 14289-1, 보편 접근성)의 하위 집합에 대해 문서를 검사하고 위반 사항 보고서를 반환합니다.
CreateTilingPattern(width: float64) → *TilingPatternCreateTilingPattern는 셀의 크기가 width×height 포인트인 빈 타일 패턴을 생성합니다.
XMP() → (XMPMetadata, error)XMP는 /Catalog/Metadata 스트림에서 파싱된 문서의 XMP 메타데이터를 반환합니다.
XMPRaw() → ([]byte, error)XMPRaw는 /Catalog/Metadata에서 가져온 XMP 패킷의 원시 바이트를 반환하며, 문서에 XMP 스트림이 없을 경우 nil을 반환합니다.
SetXMP(meta: XMPMetadata) → errorSetXMP은 메타를 표준 XMP 패킷으로 직렬화하고 이를 /Catalog/Metadata 스트림에 저장합니다 (압축되지 않음, ISO 32000-1 §14.3.2에 따른 /Type /Metadata /Subtype /XML).
SetXMPRaw(data: []byte) → errorSetXMPRaw은 데이터를 그대로 /Catalog/Metadata 스트림에 저장합니다 — 자체 XMP 패킷을 생성하는 호출자를 위한 탈출구입니다.
ClearXMP()ClearXMP은 /Catalog/Metadata 항목을 제거합니다.
SyncInfoToXMP() → errorSyncInfoToXMP은(는) 문서의 현재 /Info 사전에서 XMP 패킷을 생성하고 이를 설치하여 두 메타데이터 저장소가 일치하도록 합니다(ISO 32000-1 §14.3.2는 두 저장소가 모두 존재할 때 일관성을 권장합니다).

참조

 한국어