Como Converter um PDF em uma Pasta de Trabalho Excel Editável em Java
Este guia mostra como transformar um PDF em uma pasta de trabalho que você pode realmente editar, não apenas em uma exportação plana. Você converterá um PDF para XLSX com ExcelSaveOptions, ajustará a exportação para que as tabelas sejam inseridas de forma limpa em um número razoável de planilhas e converterá uma pasta de trabalho editada de volta para PDF com ExcelLoadOptions.
Converter um PDF em uma Pasta de Trabalho Excel Básica
Document.save com SaveFormat.Xlsx realiza uma conversão direta: o texto e o conteúdo semelhante a tabelas de cada página são colocados em sua própria planilha.
import org.aspose.pdf.Document;
import org.aspose.pdf.SaveFormat;
try (Document doc = new Document("report.pdf")) {
doc.save("report.xlsx", SaveFormat.Xlsx); // SaveFormat.Excel is an alias
}Ajuste a Exportação para Planilhas Mais Limpas
Uma exportação de uma planilha por página geralmente não é o que o usuário de planilhas deseja. ExcelSaveOptions controla a mesclagem de planilhas, o layout de colunas e as heurísticas de recuperação de tabelas para PDFs que não têm estrutura de tabela marcada:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelSaveOptions;
try (Document doc = new Document("report.pdf")) {
ExcelSaveOptions options = new ExcelSaveOptions();
options.setFormat(ExcelSaveOptions.ExcelFormat.XLSX); // default
options.setMinimizeTheNumberOfWorksheets(true); // merge pages onto fewer sheets
options.setInsertBlankColumnAtFirst(false); // no leading spacer column
options.setUniformWorksheets(false); // allow per-sheet column widths
options.setStructuralHeuristics(true); // recover tables on untagged PDFs
options.setSuppressRunningHeadersFooters(true); // drop repeated page furniture
doc.save("report.xlsx", options);
}setMinimizeTheNumberOfWorksheets(true) é a única opção que mais altera a forma da saída: sem ela, um relatório de 20 páginas produz 20 planilhas.
Converter uma pasta de trabalho do Excel de volta para PDF
Depois que um revisor editar a pasta de trabalho, converta-a novamente para PDF carregando-a com ExcelLoadOptions e salvando o documento resultante:
import org.aspose.pdf.Document;
import org.aspose.pdf.ExcelLoadOptions;
try (Document doc = new Document("book.xlsx", new ExcelLoadOptions())) {
doc.save("book.pdf");
}