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.
- Abra o PDF de origem em uma instância de
Document. - Crie padrão
HtmlSaveOptionspara serialização HTML padrão. - Chame
document.save(outputFile.toString(), saveOptions); assim, o conteúdo da página PDF é exportado como marcação HTML. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse definasetSpecialFolderForAllImages(...)para um diretório de saída de imagens dedicado. - 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. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse habilitesetSplitIntoPages(true). - Chame
document.save(outputFile.toString(), saveOptions); assim, cada página PDF é gravada como saída HTML separada. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse definasetSpecialFolderForSvgImages(...)para um diretório externo de recursos SVG. - Chame
document.save(outputFile.toString(), saveOptions); assim, gráficos vetoriais são armazenados fora do arquivo HTML principal. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse configure uma pasta dedicada para recursos SVG. - Habilite
setCompressSvgGraphicsIfAny(true); assim, os ativos SVG são comprimidos durante a exportação. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse defina o modo de salvamento da imagem raster para fundos de página PNG. - Chame
document.save(outputFile.toString(), saveOptions); assim, o conteúdo de fundo da página é emitido como camadas HTML baseadas em PNG. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse defina o modo de geração de marcação paraWriteOnlyBodyContent. - Manter
setSplitIntoPages(true)ativado quando a saída apenas do corpo ainda deve ser separada por páginas. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse habilite a preservação de texto transparente e sombreado. - Chame
document.save(outputFile.toString(), saveOptions); assim, a aparência do texto relacionada à transparência é mantida no resultado HTML. - 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.
- Abra o PDF de origem em uma instância de
Document. - Crie
HtmlSaveOptionse habilitesetConvertMarkedContentToLayers(true). - Chame
document.save(outputFile.toString(), saveOptions); assim, o conteúdo de PDF marcado é mapeado em camadas HTML. - 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);
}