Преобразование PDF в HTML на Java

Aspose.PDF for Java поддерживает экспорт в HTML с параметрами для изображений, SVG, разбиения страниц, прозрачности и рендеринга слоёв. Используйте HtmlSaveOptions для контроля того, как страницы PDF, ресурсы и разметка записываются в HTML‑вывод.

Преобразование PDF в HTML

Используйте этот пример, когда PDF должен быть экспортирован в стандартный HTML‑документ.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions с параметрами по умолчанию для стандартной сериализации HTML.
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом содержимое страницы PDF экспортируется как HTML‑разметка.
  4. Сохраните сгенерированный 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.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и задайте отдельный каталог для изображений с помощью setSpecialFolderForAllImages(...).
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом растровые изображения генерируются как отдельные файлы ресурсов вместо встраивания в HTML.
  4. Сохраните 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.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и включите setSplitIntoPages(true).
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом каждая страница PDF записывается как отдельный HTML‑вывод.
  4. Сохраните сгенерированные 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‑ресурсы.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и задайте внешний каталог для ресурсов SVG с помощью setSpecialFolderForSvgImages(...).
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом векторная графика хранится вне основного HTML‑файла.
  4. Сохраните 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.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и настройте отдельную папку для ресурсов SVG.
  3. Включите setCompressSvgGraphicsIfAny(true), при этом ресурсы SVG сжимаются при экспорте.
  4. Вызовите 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‑выводе.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и установите режим сохранения растровых изображений в PNG для фонов страниц.
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом фон страницы выводится в виде HTML‑слоёв на основе PNG.
  4. Сохраните преобразованный 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‑документа.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и установите режим генерации разметки WriteOnlyBodyContent.
  3. Оставьте setSplitIntoPages(true) включённым, если содержимое body должно быть разделено на страницы.
  4. Вызовите 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.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и включите сохранение прозрачного и затенённого текста.
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом отображение текста, связанное с прозрачностью, сохраняется в HTML‑результате.
  4. Сохраните преобразованный 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.

  1. Откройте исходный PDF в экземпляре Document.
  2. Создайте HtmlSaveOptions и включите setConvertMarkedContentToLayers(true).
  3. Вызовите document.save(outputFile.toString(), saveOptions), при этом отмеченный контент PDF отображается в слоях HTML.
  4. Сохраните экспортированные 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);
}