메타데이터 및 유틸리티
메타데이터 및 유틸리티
Aspose.PDF FOSS for .NET은 메타데이터 액세스, 좌표 기하학, 이미지 컬렉션 및 페이지 수준 아티팩트를 위한 유틸리티 클래스를 포함합니다. 이러한 빌딩 블록은 라이브러리 전반에 걸쳐 고수준 작업을 지원합니다.
XMP 메타데이터
Metadata 문서에서 XMP 메타데이터 스트림에 대한 액세스를 제공합니다. 표준 또는 사용자 정의 XMP 속성을 읽고
쓰기합니다.
using var doc = Document.Open(pdfBytes);
// Read existing metadata
foreach (var entry in doc.Metadata)
{
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
// Set a custom property
doc.Metadata.Add("xmp:CustomProp", new XmpValue("custom value"));
doc.Save("with-metadata.pdf");좌표 기하학
Rectangle 및 Matrix은 API 전반에서 위치 지정 및 변환에 사용됩니다.
var rect = new Rectangle(72, 700, 300, 720);
bool inside = rect.ContainsPoint(150, 710);
// Transformation matrix (translate by 100, 200)
var matrix = new Matrix(1, 0, 0, 1, 100, 200);페이지 컬렉션 작업
PageCollection은 인덱싱, 반복 및 방문자 패턴 수용을 지원합니다.
using var doc = Document.Open(pdfBytes);
for (int i = 1; i <= doc.Pages.Count; i++)
{
var page = doc.Pages[i];
}이미지 컬렉션
XImageCollection 페이지 리소스에 포함된 이미지를 관리합니다. XImage
이미지 속성을 검사하는 메서드를 제공합니다.
var images = doc.Pages[1].Resources.Images;
foreach (var img in images)
{
Console.WriteLine($"Color type: {img.GetColorType()}");
}아티팩트
Artifact은 워터마크, 머리글 및 바닥글과 같은 비콘텐츠 요소를 나타냅니다. 페이지 번호 매기기 및 장식 요소에는 아티팩트를 사용하십시오.
var artifact = new Artifact(ArtifactType.Watermark);
artifact.SetPageNumberReplacementString("Page {0}");팁 및 모범 사례
- XMP 메타데이터 키는 Dublin Core 및 XMP 사양을 따릅니다 — 표준 네임스페이스 접두사를 사용하십시오.
Rectangle좌표는 PDF 사용자 공간 단위(1/72 인치)이며, 원점은 왼쪽 하단에 있습니다.Matrix을(를) 사용하여 아핀 변환을 수행합니다: 평행이동, 회전, 스케일링 및 전단.XmpValue는 문자열, 정수, 실수, 날짜 및 배열 유형을 지원합니다.- Artifacts는 구조적 요소이며 — 접근성 트리 순회에 나타나지 않습니다.
일반적인 문제
| Issue | Cause | Fix |
|---|---|---|
| 메타데이터 키를 찾을 수 없음 | 키가 다른 네임스페이스 접두사를 사용함 | 먼저 모든 키를 나열하여 올바른 접두사를 찾으세요 |
| 사각형 좌표가 반전된 것으로 보임 | PDF 원점은 왼쪽 하단이며, 왼쪽 상단이 아님 | Y 좌표를 그에 맞게 조정하세요 |
| 이미지 컬렉션이 비어 있음 | 이미지는 직접 페이지 리소스가 아니라 폼 XObjects에 있음 | 중첩된 이미지 리소스는 XFormCollection를 확인하세요 |
자주 묻는 질문
메타데이터에서 문서 제목을 읽으려면 어떻게 해야 하나요?
Dublin Core 제목 속성을 위해 doc.Metadata["dc:title"]에 액세스하십시오.
워터마크 아티팩트를 추가할 수 있나요?
예. Artifact을(를) Watermark 유형으로 생성하고 페이지에 추가하십시오.
Rectangle은 어떤 좌표계를 사용합니까?
PDF 사용자 공간: 원점은 왼쪽 하단에 있으며, 단위는 1/72인치입니다. 표준 US Letter 페이지는 612 × 792 단위입니다.
API 참조 요약
| 클래스 / 메서드 | 설명 |
|---|---|
Metadata | 문서의 XMP 메타데이터 사전 |
XmpValue | XMP 속성 값에 대한 형식화된 래퍼 |
Rectangle | 축에 정렬된 경계 상자 (llx, lly, urx, ury) |
Rectangle.ContainsPoint | 점이 사각형 내부에 있는지 테스트 |
Matrix | 2D 어파인 변환 행렬 |
Matrix.Translate | 변환 행렬 생성 |
PageCollection | 1 기반 인덱싱을 사용하는 정렬된 페이지 컬렉션 |
XImageCollection | 페이지의 이미지 리소스 |
XImage | 색상 유형 감지를 포함한 단일 임베디드 이미지 |
Artifact | 비콘텐츠 페이지 요소 (워터마크, 헤더, 푸터) |
Artifact.SetPageNumberReplacementString | 페이지 번호 아티팩트를 위한 템플릿 |