Enum 작업하기
열거형 사용하기
Aspose.PDF .NET용 FOSS는 API 전반에 걸쳐 강력히 타입이 지정된 열거형을 사용하여 문서 동작, 페이지 외관 및 변환 형식을 구성합니다. 매직 문자열이나 정수 대신, 대부분의 구성 요소—PDF 뷰어가 파일을 여는 방식부터 어떤 형식으로 저장되는지까지—가 열거형 값으로 표현됩니다. Document 이 페이지에서는 라이브러리를 사용할 때 가장 자주 마주하게 되는 열거형 타입을 소개합니다. 이는 선별된 소개이며 전체 카탈로그는 아닙니다; 열거형 타입 전체 목록과 모든 멤버 값을 보려면 다음을 참고하세요. API Reference.
페이지 표시 및 레이아웃
PageMode와 PageLayout은(는) Document의 속성으로, PDF 뷰어가 문서를 처음 열 때 문서를 어떻게 표시할지—개요, 썸네일, 또는 특정 열 레이아웃을 보여줄지—를 제어합니다.
using var doc = Document.Open("input.pdf");
// Show the outline (bookmarks) panel when the document opens
doc.PageMode = PageMode.UseOutlines;
// Display pages in two columns, first page on the left
doc.PageLayout = PageLayout.TwoColumnLeft;
doc.Save("output.pdf");페이지 색상 모델
ColorType은(는) 페이지의 색상 모델—RGB, CMYK, 그레이스케일 등—을 설명합니다. 이는 Page와 Color 모두에서 노출되어 페이지 콘텐츠가 실제로 렌더링되는 방식을 기반으로 로직을 분기할 수 있게 합니다.
using var doc = Document.Open("input.pdf");
var page = doc.Pages[1];
if (page.ColorType == ColorType.Grayscale)
{
// Apply grayscale-specific handling, e.g. skip color-profile conversion
}Alignment
여러 클래스는 페이지에 콘텐츠를 배치하기 위해 HorizontalAlignment와 VerticalAlignment을 노출하고, 주석 클래스는 상자 내 텍스트 전용 정렬을 위해 TextAlignment와 Justification을 추가합니다. 예를 들어 Table는 두 정렬 축을 직접 노출합니다.
var table = new Table();
table.HorizontalAlignment = HorizontalAlignment.Center;
table.VerticalAlignment = VerticalAlignment.Center;
page.Paragraphs.Add(table);FreeTextAnnotation(및 Annotation 기본 유형)도 주석 내부 텍스트를 위해 Justification와 TextAlignment을 추가로 노출합니다:
if (page.Annotations[1] is FreeTextAnnotation freeText)
{
freeText.Justification = Justification.Center;
freeText.Alignment = TextAlignment.Right;
}로드 및 저장 형식
LoadFormat은 LoadOptions 하위 클래스 뒤의 소스 형식을 식별합니다(예: HtmlLoadOptions.LoadFormat는 항상 LoadFormat.HTML입니다). SaveFormat는 Document.Save를 호출할 때 출력 형식을 선택합니다.
var loadOptions = new HtmlLoadOptions();
// loadOptions.LoadFormat == LoadFormat.HTML
using var doc = new Document("input.html", loadOptions);
doc.Save("output.html", SaveFormat.Html);페이지 회전
Rotation은 페이지의 회전 각도를 설명하며 Page.Rotate을 통해 노출됩니다.
var page = doc.Pages[1];
page.Rotate = Rotation.on90;팁 및 모범 사례
- 문자열 또는 정수 기반 오버로드와 동시에 존재하는 경우 enum 오버로드를 선호하세요 — 컴파일 시점에 잘못된 값을 잡아냅니다.
SaveFormat을(를)Document.Save에 전달하는 파일 확장자와 일치시키세요; 불일치 시 내용이 오해를 일으키는 파일이나 사용할 수 없는 확장자가 생성됩니다.- 형식 자동 감지에만 의존하지 말고, 소스 형식에 해당하는
LoadOptions하위 클래스를 사용하세요(예: HTML의 경우HtmlLoadOptions). - 표나 단락을 배치할 때는
HorizontalAlignment와VerticalAlignment를 동시에 설정하세요 — 하나만 기본값으로 두면 예기치 않은 배치가 발생할 수 있습니다. ColorType을(를) 규정적인 것이 아니라 설명적인 것으로 간주하세요: 이는 페이지의 색상 내용이 현재 어떻게 모델링되어 있는지 보고할 뿐이며, 색 공간을 변환하기 위해 전환하는 설정이 아닙니다.
일반적인 문제
| 문제 | 원인 | 수정 |
|---|---|---|
| 저장된 파일의 내용이 확장자와 일치하지 않음 | 잘못된 SaveFormat 값이 Document.Save에 전달됨 | 대상 파일 확장자와 일치하는 SaveFormat 값을 전달하세요 |
| 로드된 HTML/XML/etc. 콘텐츠가 올바르게 렌더링되지 않습니다 | 형식에 특화된 서브클래스 대신 일반 LoadOptions가 사용되었습니다 | 소스 형식에 맞는 서브클래스를 사용하세요, 예: HtmlLoadOptions |
| 표 또는 주석이 페이지에서 정렬이 맞지 않는 것처럼 보입니다 | HorizontalAlignment/VerticalAlignment이(가) 기본값으로 남아 있습니다 | Paragraphs에 객체를 추가하기 전에 두 속성을 명시적으로 설정하세요 |
| PDF가 예상치 못한 뷰어 동작으로 열립니다(개요 패널이 없고, 열 레이아웃이 잘못됨) | Document.PageMode/Document.PageLayout이(가) 설정되지 않았습니다 | Document.Save를 호출하기 전에 두 속성을 모두 설정하십시오. |
FAQ
PageMode와 PageLayout의 차이점은 무엇인가요?
PageMode은(는) 열릴 때 뷰어 UI 상태를 제어합니다(예: 개요 패널이나 썸네일 패널이 보이는지 여부). 반면 PageLayout은(는) 페이지가 배치되는 방식을 제어합니다(단일 페이지, 1열, 2열 등).
어떤 SaveFormat 값을 사용해야 하는지 어떻게 알 수 있나요?
원하는 출력 파일 형식에 맞는 SaveFormat 값을 선택하세요 — 예를 들어, HTML 출력에는 SaveFormat.Html을, PDF로 다시 저장하려면 SaveFormat.Pdf을 사용합니다.
같은 객체에 HorizontalAlignment와 VerticalAlignment을 모두 설정할 수 있나요?
네. Table와 같은 클래스는 두 속성을 독립적으로 노출하므로, 이를 결합해 콘텐츠를 어느 축에든 배치할 수 있습니다.
ColorType을(를) 사용해 페이지의 색 공간을 변환할 수 있나요?
아니요. ColorType은(는) 페이지 또는 색 값에 현재 연결된 색 모델을 보고할 뿐이며, 변환을 수행하지 않습니다.
모든 열거형(enum)과 모든 값을 어디서 찾을 수 있나요?
이 페이지에서는 가장 일반적으로 사용되는 열거형을 다룹니다. 모든 멤버 값을 포함한 전체 세트를 보려면 다음을 참조하십시오. API Reference.
API Reference 요약
| Enum | 설명 |
|---|---|
PageMode | PDF 뷰어가 문서를 열 때 표시하는 방법(개요, 썸네일, 전체 화면 등) |
PageLayout | 문서가 표시될 때 사용되는 페이지 레이아웃(단일 페이지, 컬럼 등) |
ColorType | 페이지의 색상 모델 또는 색상 값(RGB, CMYK, 그레이스케일 등) |
HorizontalAlignment | 단락, 표 또는 주석의 가로 정렬 |
VerticalAlignment | 문단, 표 또는 주석의 수직 정렬 |
TextAlignment | 주석 텍스트 상자의 가로 텍스트 정렬 |
Justification | 자유 텍스트 주석 내용의 양쪽 맞춤 |
LoadFormat | LoadOptions 하위 클래스에서 사용하는 소스 형식 선택기 |
SaveFormat | Document.Save에서 사용되는 출력 형식 선택기 |
Rotation | 페이지 회전 각도, Page.Rotate을 통해 제공됨 |