Преобразование PDF в HTML на Java
Aspose.PDF for Java поддерживает экспорт в HTML с параметрами для изображений, SVG, разбиения страниц, прозрачности и рендеринга слоёв. Используйте HtmlSaveOptions для контроля того, как страницы PDF, ресурсы и разметка записываются в HTML‑вывод.
Преобразование PDF в HTML
Используйте этот пример, когда PDF должен быть экспортирован в стандартный HTML‑документ.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsс параметрами по умолчанию для стандартной сериализации HTML. - Вызовите
document.save(outputFile.toString(), saveOptions), при этом содержимое страницы PDF экспортируется как HTML‑разметка. - Сохраните сгенерированный HTML‑вывод.
public static void convertPdfToHtml(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в HTML с отдельным сохранением изображений
Используйте этот пример, когда извлечённые изображения должны записываться в отдельные файлы при экспорте в HTML.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи задайте отдельный каталог для изображений с помощьюsetSpecialFolderForAllImages(...). - Вызовите
document.save(outputFile.toString(), saveOptions), при этом растровые изображения генерируются как отдельные файлы ресурсов вместо встраивания в HTML. - Сохраните HTML-вывод вместе со сгенерированными изображениями.
public static void convertPdfToHtmlStoringImages(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setSpecialFolderForAllImages(inputFile.getParent().resolve("images").toString());
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в многостраничный HTML
Используйте этот пример, когда каждая страница PDF должна быть представлена отдельно в выводе HTML.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи включитеsetSplitIntoPages(true). - Вызовите
document.save(outputFile.toString(), saveOptions), при этом каждая страница PDF записывается как отдельный HTML‑вывод. - Сохраните сгенерированные HTML‑файлы.
public static void convertPdfToHtmlMultiPage(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setSplitIntoPages(true);
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в HTML с отдельным сохранением SVG
Используйте этот пример, когда векторный контент должен быть вынесен в отдельные SVG‑ресурсы.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи задайте внешний каталог для ресурсов SVG с помощьюsetSpecialFolderForSvgImages(...). - Вызовите
document.save(outputFile.toString(), saveOptions), при этом векторная графика хранится вне основного HTML‑файла. - Сохраните HTML‑вывод и SVG‑ресурсы.
public static void convertPdfToHtmlStoringSvg(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setSpecialFolderForSvgImages(inputFile.getParent().resolve("svg_images").toString());
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в HTML со сжатием SVG
Используйте этот пример, когда вывод SVG должен быть оптимизирован при экспорте в HTML.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи настройте отдельную папку для ресурсов SVG. - Включите
setCompressSvgGraphicsIfAny(true), при этом ресурсы SVG сжимаются при экспорте. - Вызовите
document.save(outputFile.toString(), saveOptions)и сохраните преобразованные HTML‑файлы.
public static void convertPdfToHtmlCompressSvg(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setSpecialFolderForSvgImages(inputFile.getParent().resolve("svg_images").toString());
saveOptions.setCompressSvgGraphicsIfAny(true);
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в HTML с фоном страниц в формате PNG
Используйте этот пример, когда фон страниц должен отображаться в виде PNG‑изображений в HTML‑выводе.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи установите режим сохранения растровых изображений в PNG для фонов страниц. - Вызовите
document.save(outputFile.toString(), saveOptions), при этом фон страницы выводится в виде HTML‑слоёв на основе PNG. - Сохраните преобразованный HTML-вывод.
public static void convertPdfToHtmlPngBackground(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setRasterImagesSavingMode(
HtmlSaveOptions.RasterImagesSavingModes.AsEmbeddedPartsOfPngPageBackground);
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF только в содержимое body HTML
Используйте этот пример, когда нужна только разметка тела вместо полной оболочки HTML‑документа.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи установите режим генерации разметкиWriteOnlyBodyContent. - Оставьте
setSplitIntoPages(true)включённым, если содержимое body должно быть разделено на страницы. - Вызовите
document.save(outputFile.toString(), saveOptions)и сохраните HTML‑вывод.
public static void convertPdfToHtmlBodyContent(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setHtmlMarkupGenerationMode(
HtmlSaveOptions.HtmlMarkupGenerationModes.WriteOnlyBodyContent);
saveOptions.setSplitIntoPages(true);
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в HTML с сохранением прозрачности текста
Используйте этот пример, когда прозрачный текст должен сохраняться при экспорте в HTML.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи включите сохранение прозрачного и затенённого текста. - Вызовите
document.save(outputFile.toString(), saveOptions), при этом отображение текста, связанное с прозрачностью, сохраняется в HTML‑результате. - Сохраните преобразованный HTML-вывод.
public static void convertPdfToHtmlTransparentTextRendering(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setSaveTransparentTexts(true);
saveOptions.setSaveShadowedTextsAsTransparentTexts(true);
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PDF в HTML с отображением слоёв документа
Используйте этот пример, когда видимость слоёв PDF должна отображаться в результате HTML.
- Откройте исходный PDF в экземпляре
Document. - Создайте
HtmlSaveOptionsи включитеsetConvertMarkedContentToLayers(true). - Вызовите
document.save(outputFile.toString(), saveOptions), при этом отмеченный контент PDF отображается в слоях HTML. - Сохраните экспортированные HTML‑файлы.
public static void convertPdfToHtmlDocumentLayersRendering(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setConvertMarkedContentToLayers(true);
document.save(outputFile.toString(), saveOptions);
}
System.out.println(inputFile + " converted into " + outputFile);
}