Tham chiếu Các Tùy Chọn Cấu Hình
Tham chiếu các tùy chọn cấu hình
Hầu hết các thao tác tải, lưu và chuyển đổi trong Aspose.PDF FOSS cho .NET chấp nhận một *Options đối tượng cấu hình hành vi của thao tác đó. LoadOptions and SaveOptions là hai gốc trừu tượng của họ này: mỗi bộ tải đặc thù cho định dạng (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) được kế thừa từ LoadOptions, và mỗi bộ ghi đặc thù cho định dạng (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) được kế thừa từ SaveOptions. Trang này giải thích cách mà họ này kết hợp với nhau và tài liệu các lớp tùy chọn chưa được đề cập bởi Chuyển đổi và Tối ưu hoá hướng dẫn.
Tải tài liệu bằng LoadOptions
Mỗi lớp con *LoadOptions chia sẻ WarningHandler, WarningHandlerName, DisableFontLicenseVerifications, và LoadFormat từ lớp cơ sở LoadOptions, sau đó thêm các thuộc tính riêng cho định dạng nguồn của nó.
// 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);Lưu thành PDF bằng PdfSaveOptions
PdfSaveOptions kiểm soát việc xử lý phông chữ và vị trí tệp tạm thời khi ghi lại một Document thành PDF. Nó kế thừa CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs, và SaveFormat từ lớp cơ sở chung SaveOptions.
using var doc = Document.Open("input.pdf");
var pdfOptions = new PdfSaveOptions();
pdfOptions.DefaultFontName = "Arial";
pdfOptions.TempPath = "temp/";
doc.Save("output.pdf", pdfOptions);Xuất ra HTML và SVG
HtmlSaveOptions và SvgSaveOptions đều kế thừa từ UnifiedSaveOptions. Ngoài các điều khiển hình ảnh/phông chữ/bố cục được đề cập trong hướng dẫn chuyển đổi, HtmlSaveOptions cũng cho phép bạn chọn kiểu tài liệu và chiến lược phân trang, trong khi SvgSaveOptions hoàn toàn dựa vào các thành viên SaveOptions/UnifiedSaveOptions được kế thừa.
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);Chuyển đổi một bước với Document.Convert
Document.Convert chấp nhận một LoadOptions nguồn và SaveOptions đích cùng nhau trong một lời gọi tĩnh duy nhất, vì vậy bạn có thể chuyển đổi giữa các định dạng mà không cần mở, chuyển đổi và giải phóng một Document một cách thủ công.
var loadOptions = new HtmlLoadOptions();
var saveOptions = new PdfSaveOptions();
Document.Convert("input.html", loadOptions, "output.pdf", saveOptions);Tùy chọn trích xuất văn bản
TextExtractionOptions kiểm soát cách TextAbsorber (và TextDevice) định dạng văn bản đã trích xuất, độc lập với việc lớp hấp thụ hoặc thiết bị nào thực hiện việc trích xuất.
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;Tối ưu hóa đầu ra với OptimizationOptions
OptimizationOptions là một cơ chế riêng, không phụ thuộc vào định dạng, để giảm kích thước tệp. Nó được áp dụng qua Document.OptimizeResources, không phải qua lớp *SaveOptions, do đó có thể kết hợp với bất kỳ đường lưu nào.
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");Mẹo và Thực hành tốt nhất
- Mỗi lớp con
*LoadOptionsvà*SaveOptionskế thừaWarningHandler/WarningHandlerName- đặt cả hai cùng nhau để ghi lại chẩn đoán có thể khôi phục. - Ưu tiên một thể hiện
*LoadOptions/*SaveOptionsriêng cho định dạng hơn là dựa vào suy luận định dạng dựa trên phần mở rộng, đặc biệt khi làm việc với luồng thay vì đường dẫn tệp. - Sử dụng
Document.Convert(srcFileName, loadOptions, dstFileName, saveOptions)cho các chuyển đổi một lần thay vì mở và lưu lại thủ công mộtDocument. OptimizationOptionsđộc lập với họ*SaveOptions- gọiOptimizeResourcestrướcSaveđể giảm kích thước đầu ra bất kể định dạng mục tiêu.- Tái sử dụng một thể hiện tùy chọn duy nhất cho nhiều tài liệu khi cùng một cài đặt được áp dụng, thay vì tạo lại nó mỗi lần.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Khắc phục |
|---|---|---|
| Các đường dẫn hình ảnh/CSS tương đối không được giải quyết khi tải HTML | HtmlLoadOptions.BasePath không bao giờ được thiết lập | Truyền đường dẫn cơ sở thông qua hàm khởi tạo HtmlLoadOptions(basePath) |
| Định dạng đầu ra sai đã được tạo | Một lớp con *SaveOptions không phù hợp hoặc SaveFormat đã được sử dụng cho phần mở rộng đích | Sử dụng lớp con *SaveOptions phù hợp với định dạng đích |
OptimizeResources không giảm kích thước tệp | OptimizationOptions để ở mặc định mà không bật cờ giảm kích thước | Thiết lập rõ ràng RemoveUnusedObjects, CompressObjects và SubsetFonts |
| Các cảnh báo phát sinh trong quá trình tải/luu bị bỏ qua một cách im lặng | WarningHandler được đặt mà không đặt tên cho trình xử lý | Đặt WarningHandler và WarningHandlerName cùng nhau |
FAQ
Sự khác nhau giữa LoadOptions và SaveOptions là gì?
LoadOptions cấu hình cách một tài liệu được đọc từ định dạng nguồn không phải PDF (HTML, Markdown, văn bản, SVG); SaveOptions cấu hình cách một Document được ghi ra định dạng đầu ra (PDF, HTML, SVG). Mỗi lớp tùy chọn riêng cho định dạng kế thừa đúng một trong hai gốc này.
Tôi có cần chỉ định LoadOptions khi mở một PDF gốc không?
Không. Document.Open và hàm khởi tạo Document chấp nhận một đường dẫn tệp thuần hoặc luồng cho đầu vào PDF gốc. Các lớp con *LoadOptions chỉ cần thiết khi nhập một định dạng nguồn không phải PDF như HTML, Markdown, văn bản hoặc SVG.
Tôi có thể tái sử dụng cùng một thể hiện SaveOptions cho nhiều lần gọi Save không?
Có. Một thể hiện tùy chọn chỉ là một đối tượng cấu hình thuần; nó không giữ trạng thái riêng cho từng tài liệu, vì vậy cùng một thể hiện PdfSaveOptions hoặc HtmlSaveOptions có thể được truyền cho Save cho nhiều tài liệu có cùng cài đặt.
Làm thế nào OptimizationOptions khác với các lớp SaveOptions riêng cho định dạng?
OptimizationOptions được Document.OptimizeResources tiêu thụ, một bước riêng biệt so với việc lưu. Nó loại bỏ các đối tượng/luồng không sử dụng và nén lại hình ảnh tại chỗ, và có thể được áp dụng trước khi gọi Save với bất kỳ lớp con *SaveOptions nào.
Mỗi định dạng nguồn/đích có cả lớp LoadOptions và lớp SaveOptions không?
Không nhất thiết đối xứng. Ví dụ, Markdown và plain text hiện đang cung cấp MdLoadOptions/TxtLoadOptions để nhập nhưng không có đối tượng *SaveOptions tương ứng, phản ánh hướng mà mỗi định dạng được hỗ trợ chuyển đổi.
API Reference Tóm tắt
| Lớp / Phương thức | Mô tả |
|---|---|
LoadOptions | Lớp cơ sở cho tất cả các kiểu tùy chọn tải tài liệu |
SaveOptions | Lớp cơ sở cho tất cả các kiểu tùy chọn lưu tài liệu |
HtmlLoadOptions | Các tùy chọn để nhập HTML dưới dạng tài liệu PDF |
MdLoadOptions | Các tùy chọn để nhập Markdown dưới dạng tài liệu PDF |
TxtLoadOptions | Các tùy chọn để nhập văn bản thuần túy dưới dạng tài liệu PDF |
SvgLoadOptions | Các tùy chọn để nhập SVG dưới dạng tài liệu PDF |
PdfSaveOptions | Các tùy chọn để lưu tài liệu dưới dạng PDF |
HtmlSaveOptions | Các tùy chọn để lưu tài liệu dưới dạng HTML |
SvgSaveOptions | Các tùy chọn để lưu tài liệu dưới dạng SVG |
UnifiedSaveOptions | Cơ sở chung cho HtmlSaveOptions và SvgSaveOptions |
Document.Convert | Chuyển đổi tĩnh một bước sử dụng cặp LoadOptions/SaveOptions |
TextExtractionOptions | Cấu hình định dạng cho việc trích xuất văn bản TextAbsorber |
OptimizationOptions | Cài đặt tối ưu hoá kích thước/tài nguyên tài liệu không phụ thuộc vào định dạng |
Document.OptimizeResources | Áp dụng một thể hiện OptimizationOptions vào tài liệu |