Конвертация и оптимизация
Преобразование и оптимизация
Aspose.PDF FOSS for .NET предоставляет конвертеры для преобразования PDF в HTML,
Markdown, SVG и обычный текст. Подсистема оптимизации уменьшает размер файлов
и обеспечивает соответствие PDF/A через PdfFormatConversionOptions.
PDF в HTML
PdfToHtmlConverter экспортирует страницы PDF в виде HTML‑документов.
var converter = new PdfToHtmlConverter();
converter.SaveAsHtml("input.pdf", "output.html");
// Or save each page separately
converter.SaveAllPagesAsHtml("input.pdf", "output_dir");HtmlSaveOptions предоставляет контроль над обработкой изображений, внедрением шрифтов и стратегией компоновки.
PDF в Markdown
PdfToMarkdownConverter экспортирует содержимое PDF в виде текста Markdown.
var converter = new PdfToMarkdownConverter("input.pdf");
converter.SaveAsMarkdown("output.md");
// Single page
converter.SavePageAsMarkdown(1, "page1.md");PDF в SVG
PdfToSvgConverter отображает каждую страницу в виде масштабируемой векторной графики.
var converter = new PdfToSvgConverter();
converter.SaveAllPagesAsSvg("input.pdf", "output_dir");PDF в текст
PdfToTextConverter извлекает простой текст из страниц PDF.
var converter = new PdfToTextConverter();
converter.SaveAsText("input.pdf", "output.txt");соответствие PDF/A
PdfFormatConversionOptions проверяет и конвертирует документы в стандарты PDF/A
using var doc = Document.Open(pdfBytes);
var options = new PdfFormatConversionOptions(
"log.xml",
PdfFormat.PDF_A_1B,
ConvertErrorAction.Delete);
doc.Convert(options);
doc.Save("pdfa.pdf");Контроль уровня заголовка
HeadingLevels настраивает, какие уровни заголовков распознаются при конвертации HTML или Markdown.
var levels = new HeadingLevels();
levels.AddLevels(1, 3); // Recognize H1 through H3Советы и лучшие практики
- Используйте
PdfToHtmlConverterдля веб‑публикации иPdfToMarkdownConverterдля рабочих процессов документации. - При конвертации в PDF/A могут быть удалены функции (JavaScript, шифрование), нарушающие стандарт — используйте
ConvertErrorAction.DeleteилиConvertErrorAction.None. - Для больших документов выполняйте конвертацию постранично, чтобы управлять памятью.
HtmlSaveOptionsуправляет тем, встроены ли изображения в документ или сохраняются как внешние файлы.- Вывод в SVG идеален для отображения отдельных страниц в высоком разрешении.
Распространённые проблемы
| Проблема | Причина | Решение |
|---|---|---|
| В HTML-выводе отсутствуют изображения | Изображения не встроены; внешние пути некорректны | Настройте HtmlSaveOptions для встраивания изображений |
| Конверсия в PDF/A удаляет аннотации | Аннотации не разрешены в целевом профиле PDF/A | Используйте PDF/A-2 или PDF/A-3, которые позволяют аннотации |
| Извлечение текста теряет форматирование | Вывод в виде обычного текста не содержит форматирования по умолчанию | Вместо этого используйте конверсию в HTML или Markdown |
Часто задаваемые вопросы
Какие профили PDF/A поддерживаются?
Профили PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-3A и PDF/A-3B поддерживаются через значения перечисления PdfFormat.
Могу ли я конвертировать одну страницу в HTML?
Да. Используйте PdfToHtmlConverter.SavePageAsHtml.
Сохраняет ли преобразование Markdown таблицы?
Конвертер пытается отобразить структуры таблиц в виде таблиц Markdown, но сложные макеты могут потребовать постобработки.
API Сводка справки
| Class / Method | Description |
|---|---|
PdfToHtmlConverter | Преобразовать PDF в HTML |
PdfToHtmlConverter.SaveAsHtml | Экспортировать весь документ в HTML |
PdfToMarkdownConverter | Преобразовать PDF в Markdown |
PdfToSvgConverter | Преобразовать страницы PDF в SVG |
PdfToTextConverter | Извлечь простой текст из PDF |
HtmlSaveOptions | Параметры экспорта HTML (изображения, шрифты, макет) |
HeadingLevels | Настроить распознаваемые уровни заголовков |
PdfFormatConversionOptions | Параметры проверки и конвертации PDF/A |