Converter PDF para HTML em Java

O Aspose.PDF for Java oferece suporte à exportação HTML com opções para imagens, SVG, divisão de página, transparência e renderização de camadas. Use HtmlSaveOptions para controlar como as páginas PDF, recursos e marcação são gravados na saída HTML.

Converter PDF para HTML

Use este exemplo quando um PDF deve ser exportado para um documento HTML padrão.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie padrão HtmlSaveOptions para serialização HTML padrão.
  3. Chame document.save(outputFile.toString(), saveOptions); assim, o conteúdo da página PDF é exportado como marcação HTML.
  4. Salve a saída HTML gerada.
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);
}

Converter PDF para HTML e armazenar imagens separadamente

Use este exemplo quando as imagens extraídas devem ser gravadas como arquivos separados durante a exportação HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e defina setSpecialFolderForAllImages(...) para um diretório de saída de imagens dedicado.
  3. Chame document.save(outputFile.toString(), saveOptions); assim, as imagens raster são emitidas como arquivos de recurso separados em vez de saída apenas em linha.
  4. Salve a saída HTML junto com os ativos de imagem gerados.
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);
}

Converter PDF para HTML de várias páginas

Use este exemplo quando cada página PDF deve ser representada separadamente na saída HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e habilite setSplitIntoPages(true).
  3. Chame document.save(outputFile.toString(), saveOptions); assim, cada página PDF é gravada como saída HTML separada.
  4. Salve os arquivos HTML gerados.
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);
}

Converter PDF para HTML e armazenar SVG separadamente

Use este exemplo quando o conteúdo vetorial deve ser emitido como recursos SVG separados.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e defina setSpecialFolderForSvgImages(...) para um diretório externo de recursos SVG.
  3. Chame document.save(outputFile.toString(), saveOptions); assim, gráficos vetoriais são armazenados fora do arquivo HTML principal.
  4. Salve a saída HTML e os ativos 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);
}

Converter PDF para HTML com SVG compactado

Use este exemplo quando a saída SVG deve ser otimizada durante a exportação HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e configure uma pasta dedicada para recursos SVG.
  3. Habilite setCompressSvgGraphicsIfAny(true); assim, os ativos SVG são comprimidos durante a exportação.
  4. Chame document.save(outputFile.toString(), saveOptions) e salve os arquivos HTML convertidos.
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);
}

Converter PDF para HTML com fundos de página PNG

Use este exemplo quando os fundos de página devem ser renderizados como imagens PNG na saída HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e defina o modo de salvamento da imagem raster para fundos de página PNG.
  3. Chame document.save(outputFile.toString(), saveOptions); assim, o conteúdo de fundo da página é emitido como camadas HTML baseadas em PNG.
  4. Salve a saída HTML convertida.
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);
}

Converter PDF apenas para o conteúdo do corpo em HTML

Use este exemplo quando apenas a marcação do corpo for necessária em vez de um shell completo de documento HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e defina o modo de geração de marcação para WriteOnlyBodyContent.
  3. Manter setSplitIntoPages(true) ativado quando a saída apenas do corpo ainda deve ser separada por páginas.
  4. Chame document.save(outputFile.toString(), saveOptions) e salve a saída 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);
}

Converter PDF para HTML com renderização de texto transparente

Use este exemplo quando o texto transparente deve ser preservado na exportação HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e habilite a preservação de texto transparente e sombreado.
  3. Chame document.save(outputFile.toString(), saveOptions); assim, a aparência do texto relacionada à transparência é mantida no resultado HTML.
  4. Salve a saída HTML convertida.
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);
}

Converter PDF para HTML com renderização de camada de documento

Use este exemplo quando a visibilidade das camadas do PDF deve ser refletida no resultado HTML.

  1. Abra o PDF de origem em uma instância de Document.
  2. Crie HtmlSaveOptions e habilite setConvertMarkedContentToLayers(true).
  3. Chame document.save(outputFile.toString(), saveOptions); assim, o conteúdo de PDF marcado é mapeado em camadas HTML.
  4. Salve os arquivos HTML exportados.
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);
}