Довідник параметрів конфігурації

Довідник параметрів конфігурації

Посилання на параметри конфігурації

Більшість операцій завантаження, збереження та конвертації у Aspose.PDF FOSS для .NET приймають один *Options об’єкт, який налаштовує поведінку цієї операції. LoadOptions and SaveOptions є двома абстрактними коренями цієї сім’ї: кожен завантажувач, специфічний для формату (HtmlLoadOptions, MdLoadOptions, TxtLoadOptions, SvgLoadOptions) успадковується від LoadOptions, і кожен записувач, специфічний для формату (PdfSaveOptions, HtmlSaveOptions, SvgSaveOptions) успадковується від SaveOptions. Ця сторінка пояснює, як ця сім’я взаємодіє, і документує класи параметрів, які ще не охоплені за Конвертація та оптимізація посібник.


Завантаження документів за допомогою LoadOptions

Кожен підклас *LoadOptions успадковує WarningHandler, WarningHandlerName, DisableFontLicenseVerifications та LoadFormat з базового класу LoadOptions, а потім додає властивості, специфічні для його вихідного формату.

// 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);

Збереження у PDF за допомогою PdfSaveOptions

PdfSaveOptions керує обробкою шрифтів та розташуванням тимчасових файлів під час запису Document назад у PDF. Він успадковує CloseResponse, SaveFullPath, WarningHandler, CacheGlyphs та SaveFormat від спільної бази SaveOptions.

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.Convert(srcFileName, loadOptions, dstFileName, saveOptions) для одноразових конвертацій замість ручного відкриття та повторного збереження Document.
  • OptimizationOptions не залежить від сімейства *SaveOptions — викличте OptimizeResources перед Save, щоб зменшити розмір виводу незалежно від цільового формату.
  • Повторно використовуйте один екземпляр параметрів у кількох документах, коли застосовуються однакові налаштування, замість створення нового кожного разу.

Поширені проблеми

ПроблемаПричинаВиправлення
Відносні шляхи до зображень/CSS не вирішуються під час завантаження HTMLHtmlLoadOptions.BasePath ніколи не було встановленоПередайте базовий шлях через конструктор HtmlLoadOptions(basePath)
Створено неправильний формат виводуДля цільового розширення використано невідповідний підклас *SaveOptions або SaveFormatВикористовуйте підклас *SaveOptions, який відповідає формату призначення
OptimizeResources не зменшує розмір файлуOptimizationOptions залишено за замовчуванням без увімкнених прапорців скороченняЯвно встановіть RemoveUnusedObjects, CompressObjects та SubsetFonts
Попередження, що виникають під час завантаження/збереження, беззвучно відкидаютьсяWarningHandler встановлено без зазначення обробникаВстановіть WarningHandler і WarningHandlerName разом

FAQ

У чому різниця між LoadOptions і SaveOptions?

LoadOptions налаштовує, як документ читається з формату джерела, що не є PDF (HTML, Markdown, text, SVG); SaveOptions налаштовує, як Document записується у вихідний формат (PDF, HTML, SVG). Кожен клас параметрів, специфічний для формату, успадковується від точно одного з цих двох кореневих класів.

Чи потрібно вказувати LoadOptions під час відкриття нативного PDF?

Ні. Document.Open і конструктор Document приймають простий шлях до файлу або потік для нативного PDF-входу. Підкласи *LoadOptions потрібні лише під час імпорту формату джерела, що не є PDF, наприклад HTML, Markdown, text або SVG.

Чи можу я повторно використовувати той самий екземпляр SaveOptions у кількох викликах Save?

Так. Екземпляр параметрів — це просто простий об’єкт конфігурації; він не містить стану, специфічного для окремого документа, тому той самий екземпляр PdfSaveOptions або HtmlSaveOptions можна передати Save для кількох документів, які мають однакові налаштування.

Чим OptimizationOptions відрізняється від форматно-специфічних класів SaveOptions?

OptimizationOptions споживається Document.OptimizeResources, окремим кроком від збереження. Він видаляє невикористані об’єкти/потоки та повторно стискає зображення на місці, і його можна застосувати перед викликом Save з будь-яким підкласом *SaveOptions.

Чи має кожен формат джерела/призначення і клас LoadOptions, і клас SaveOptions?

Не обов’язково симетрично. Наприклад, Markdown і простий текст наразі надають MdLoadOptions/TxtLoadOptions для імпорту, але не мають відповідного *SaveOptions аналогу, що відображає, у якому напрямку кожен формат підтримується для конвертації.


API Reference Підсумок

Клас / МетодОпис
LoadOptionsБазовий клас для всіх типів параметрів завантаження документів
SaveOptionsБазовий клас для всіх типів параметрів збереження документів
HtmlLoadOptionsПараметри імпорту HTML як PDF-документ
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 до документа

Дивіться також

 Українська