구성 옵션 참조
구성 옵션 참조
대부분의 로드, 저장 및 변환 작업은 Aspose.PDF FOSS for .NET에서 … 를 받아들입니다. *Options 해당 작업의 동작을 구성하는 객체. LoadOptions and SaveOptions 은(는) 이 패밀리의 두 추상 루트입니다: 모든 포맷별 로더(HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions)는 다음으로부터 파생됩니다. LoadOptions, 그리고 모든 포맷별 라이터(PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions)는 다음으로부터 파생됩니다. SaveOptions. 이 페이지에서는 패밀리가 어떻게 결합되는지 설명하고, 이미 다루어진 것이 아닌 옵션 클래스들을 문서화합니다. 변환 및 최적화 가이드.
LoadOptions로 문서 로드
모든 *LoadOptions 하위 클래스는 LoadOptions 기본 클래스에서 WarningHandler, WarningHandlerName, DisableFontLicenseVerifications, LoadFormat를 공유하고, 그 후 자신의 소스 형식에 특화된 속성을 추가합니다.
// HTML: resolve relative images/CSS against a base path
var htmlOptions = new HtmlLoadOptions("assets/");
htmlOptions.IsEmbedFonts = true;
using var htmlDoc = new Document("input.html", htmlOptions);
// Markdown: apply custom CSS while rendering to PDF
var mdOptions = new MdLoadOptions();
mdOptions.CssStyles = "body { font-family: sans-serif; }";
using var mdDoc = new Document("input.md", mdOptions);
// Plain text: control the rendered font size
var txtOptions = new TxtLoadOptions();
txtOptions.FontSize = 11;
using var txtDoc = Document.Open("input.txt", txtOptions);
// SVG: let the page size follow the artwork dimensions
var svgOptions = new SvgLoadOptions();
svgOptions.AdjustPageSize = true;
using var svgDoc = new Document("input.svg", svgOptions);PdfSaveOptions로 PDF 저장
PdfSaveOptions는 Document을 PDF로 다시 내보낼 때 글꼴 처리와 임시 파일 위치를 제어합니다. 이는 공유된 SaveOptions 기본 클래스에서 CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs, SaveFormat을(를) 상속합니다.
using var doc = Document.Open("input.pdf");
var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";
doc.Save("output.pdf", pdfOptions);HTML 및 SVG로 내보내기
HtmlSaveOptions와 SvgSaveOptions은 모두 UnifiedSaveOptions에서 파생됩니다. 변환 가이드에서 다루는 이미지/폰트/레이아웃 제어 외에도, HtmlSaveOptions은 문서 종류와 페이지 매김 전략을 선택할 수 있게 해주며, SvgSaveOptions는 상속된 SaveOptions/UnifiedSaveOptions 멤버에 완전히 의존합니다.
using var doc = Document.Open("input.pdf");
// Fixed-layout HTML5 output, split one file per page
var htmlOptions = new HtmlSaveOptions(HtmlDocumentType.Html5, fixedLayout: true);
htmlOptions.SplitIntoPages = true;
htmlOptions.ImageResolution = 150;
htmlOptions.Title = "Converted Document";
doc.Save("output.html", htmlOptions);
// SVG export configured through the shared SaveOptions members
var svgOptions = new SvgSaveOptions();
svgOptions.SaveFullPath = false;
doc.Save("output.svg", svgOptions);Document.Convert를 사용한 원스텝 변환
Document.Convert은(는) 단일 정적 호출로 소스 LoadOptions과 대상 SaveOptions를 동시에 받아들여, Document를 수동으로 열고 변환하고 폐기하지 않고도 형식 간 변환을 할 수 있습니다.
var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();
Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);텍스트 추출 옵션
TextExtractionOptions은(는) 추출된 텍스트를 TextAbsorber(및 TextDevice)가 어떤 형식으로 포맷할지를 제어하며, 추출을 수행하는 흡수기나 디바이스 클래스와는 무관합니다.
using var doc = Document.Open("input.pdf");
var extractionOptions = new TextExtractionOptions(TextFormattingMode.Raw);
extractionOptions.ScaleFactor = 1.0;
extractionOptions.IgnoreResourceFontErrors = true;
var absorber = new TextAbsorber(extractionOptions);
doc.Pages[1].Accept(absorber);
string text = absorber.Text;OptimizationOptions를 사용한 출력 최적화
OptimizationOptions은(는) 파일 크기를 줄이기 위한 별개의 형식 독립 메커니즘입니다. 이는 Document.OptimizeResources을 통해 적용되며, *SaveOptions 클래스를 통해 적용되지 않기 때문에 어떤 저장 경로와도 결합할 수 있습니다.
using var doc = Document.Open("input.pdf");
var optimizationOptions = new OptimizationOptions();
optimizationOptions.RemoveUnusedObjects = true;
optimizationOptions.CompressObjects = true;
optimizationOptions.SubsetFonts = true;
optimizationOptions.ImageCompressionOptions.CompressImages = true;
optimizationOptions.ImageCompressionOptions.ImageQuality = 80;
doc.OptimizeResources(optimizationOptions);
doc.Save("optimized.pdf");팁 및 모범 사례
- 모든
*LoadOptions와*SaveOptions하위 클래스는WarningHandler/WarningHandlerName을 상속합니다 - 복구 가능한 진단을 캡처하려면 두 값을 함께 설정하세요. - 특히 파일 경로 대신 스트림을 다룰 때는 확장자 기반 형식 추론에 의존하기보다 형식별
*LoadOptions/*SaveOptions인스턴스를 선호하세요. - 수동으로
Document을 열고 다시 저장하는 대신Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions)를 사용하여 한 번에 변환하십시오. OptimizationOptions는*SaveOptions계열과 독립적입니다 - 대상 형식에 관계없이 출력을 축소하려면OptimizeResources를Save전에 호출하세요.- 동일한 설정이 적용되는 경우 매번 재구성하는 대신 여러 문서에 걸쳐 단일 옵션 인스턴스를 재사용하십시오.
일반적인 문제
| 문제 | 원인 | 수정 |
|---|---|---|
| 로드 중에 상대 이미지/CSS 경로가 HTML에서 해결되지 않음 | HtmlLoadOptions.BasePath가 설정되지 않음 | 기본 경로를 HtmlLoadOptions(basePath) 생성자를 통해 전달 |
| 잘못된 출력 형식이 생성됨 | 대상 확장자에 대해 일치하지 않는 *SaveOptions 서브클래스 또는 SaveFormat이 사용되었습니다. | 대상 형식과 일치하는 *SaveOptions 서브클래스를 사용하십시오. |
OptimizeResources은(는) 파일 크기를 줄이지 않습니다. | OptimizationOptions이(가) 기본값으로 남아 있으며 감소 플래그가 활성화되지 않았습니다. | RemoveUnusedObjects, CompressObjects, 및 SubsetFonts를 명시적으로 설정하십시오. |
| 로드/저장 중에 발생한 경고는 조용히 무시됩니다. | WarningHandler이(가) 핸들러 이름을 지정하지 않고 설정되었습니다. | WarningHandler와 WarningHandlerName를 함께 설정합니다 |
FAQ
LoadOptions와 SaveOptions의 차이점은 무엇입니까?
LoadOptions은(는) 비 PDF 소스 형식(HTML, Markdown, 텍스트, SVG)에서 문서를 읽는 방식을 구성합니다; SaveOptions은(는) Document가 출력 형식(PDF, HTML, SVG)으로 기록되는 방식을 구성합니다. 모든 형식별 옵션 클래스는 이 두 루트 중 정확히 하나를 상속합니다.
네이티브 PDF를 열 때 LoadOptions을 지정해야 합니까?
아니요. Document.Open과 Document 생성자는 네이티브 PDF 입력을 위해 일반 파일 경로나 스트림을 허용합니다. *LoadOptions 하위 클래스는 HTML, Markdown, 텍스트, SVG와 같은 비 PDF 소스 형식을 가져올 때만 필요합니다.
여러 번의 Save 호출에 동일한 SaveOptions 인스턴스를 재사용할 수 있습니까?
예. 옵션 인스턴스는 단순한 구성 객체일 뿐이며, 문서별 상태를 보유하지 않으므로 동일한 PdfSaveOptions 또는 HtmlSaveOptions 인스턴스를 동일한 설정을 공유하는 여러 문서에 대해 Save에 전달할 수 있습니다.
OptimizationOptions은(는) 형식별 SaveOptions 클래스와 어떻게 다릅니까?
OptimizationOptions은(는) 저장과는 별개의 단계인 Document.OptimizeResources에 의해 사용됩니다. 사용되지 않는 객체/스트림을 제거하고 이미지를 제자리에서 재압축하며, 어떤 *SaveOptions 하위 클래스를 사용해 Save를 호출하기 전에 적용할 수 있습니다.
모든 소스/대상 형식에 LoadOptions와 SaveOptions 클래스가 모두 있습니까?
반드시 대칭일 필요는 없습니다. 예를 들어, 현재 Markdown과 일반 텍스트는 가져오기를 위해 MdLoadOptions/TxtLoadOptions를 제공하지만 일치하는 *SaveOptions 대응은 없으며, 이는 각 형식이 변환을 지원하는 방향을 나타냅니다.
API Reference 요약
| 클래스 / 메서드 | 설명 |
|---|---|
LoadOptions | 문서 로드 옵션 유형 전체의 기본 클래스 |
SaveOptions | 문서 저장 옵션 유형 전체의 기본 클래스 |
HtmlLoadOptions | PDF 문서로 HTML를 가져오기 위한 옵션 |
MdLoadOptions | Markdown을 PDF 문서로 가져오기 위한 옵션 |
TxtLoadOptions | 일반 텍스트를 PDF 문서로 가져오는 옵션 |
SvgLoadOptions | SVG를 PDF 문서로 가져오는 옵션 |
PdfSaveOptions | 문서를 PDF로 저장하는 옵션 |
HtmlSaveOptions | 문서를 HTML로 저장하는 옵션 |
SvgSaveOptions | 문서를 SVG로 저장하는 옵션 |
UnifiedSaveOptions | HtmlSaveOptions와 SvgSaveOptions에 대한 공유 기반 |
Document.Convert | LoadOptions/SaveOptions 쌍을 사용한 정적 원스텝 변환 |
TextExtractionOptions | TextAbsorber 텍스트 추출을 위한 포맷 구성 |
OptimizationOptions | 포맷에 독립적인 문서 크기/리소스 최적화 설정 |
Document.OptimizeResources | 문서에 OptimizationOptions 인스턴스를 적용합니다 |