Convertir PDF a Excel

Aspose.PDF para Java API te permite renderizar tus archivos PDF a formatos de archivo Excel XLS y XLSX. Ya tenemos otra API, conocida como Aspose.Cells para Java, que proporciona la capacidad de crear y manipular libros de trabajo Excel existentes. También proporciona la capacidad de transformar libros de trabajo Excel al formato PDF.

Convertir PDF a Excel XLS

Para convertir archivos PDF a formato XLS, Aspose.PDF tiene una clase llamada ExcelSaveOptions. Un objeto de la clase ExcelSaveOptions se pasa como segundo argumento al método Document.Save(..).

Convertir un archivo PDF a formato XLSX es parte de la biblioteca de Aspose.PDF para la versión Java 18.6. Para convertir archivos PDF a formato XLSX, necesita establecer el formato como XLSX usando el método setFormat() de la Clase ExcelSaveOptions.

El siguiente fragmento de código muestra cómo convertir un archivo PDF en formato xls y .xlsx:

package com.aspose.pdf.examples;

import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

import com.aspose.pdf.*;

public final class ConvertPDFtoXLSX {

    private ConvertPDFtoXLSX() {

    }

    // La ruta al directorio de documentos.
    private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");

    public static void main(String[] args) throws IOException {

        ConvertPDFtoExcelSimple();
        ConvertPDFtoExcelAdvanced_InsertBlankColumnAtFirst();
        ConvertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets();
        ConvertPDFtoExcelAdvanced_SaveXLSX();
    }

    public static void ConvertPDFtoExcelSimple() {
        // Cargar documento PDF
        Document pdfDocument = new Document(_dataDir + "input.pdf");

        // Instanciar objeto de opción de guardado de Excel
        ExcelSaveOptions excelsave = new ExcelSaveOptions();

        // Guardar la salida en formato XLS
        pdfDocument.save("PDFToXLS_out.xls", excelsave);
    }
}

Convertir PDF a XLS con Control de Columna

Cuando se convierte un PDF a formato XLS, se añade una columna en blanco al archivo de salida como primera columna. En la clase ExcelSaveOptions, se utiliza la opción InsertBlankColumnAtFirst para controlar esta columna. Su valor predeterminado es verdadero.

    public static void ConvertPDFtoExcelAdvanced_InsertBlankColumnAtFirst() {
        // Cargar documento PDF
        Document pdfDocument = new Document(_dataDir + "input.pdf");
        // Instanciar objeto de opción de guardado de Excel
        ExcelSaveOptions excelsave = new ExcelSaveOptions();
        excelsave.setInsertBlankColumnAtFirst(false);
        // Guardar la salida en formato XLS
        pdfDocument.save("PDFToXLS_out.xls", excelsave);
    }

Convertir PDF a una sola hoja de cálculo de Excel

Al exportar un archivo PDF con muchas páginas a XLS, cada página se exporta a una hoja diferente en el archivo de Excel. Esto se debe a que la propiedad MinimizeTheNumberOfWorksheets está configurada en false por defecto. Para asegurarse de que todas las páginas se exporten a una sola hoja en el archivo Excel de salida, configure la propiedad MinimizeTheNumberOfWorksheets en true.

    public static void ConvertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets() {
        // Cargar documento PDF
        Document pdfDocument = new Document(_dataDir + "input.pdf");

        // Instanciar objeto de opción de guardado de Excel
        ExcelSaveOptions excelsave = new ExcelSaveOptions();
        excelsave.setMinimizeTheNumberOfWorksheets(true);

        // Guardar la salida en formato XLS
        pdfDocument.save("PDFToXLS_out.xls", excelsave);
    }

Convertir a formato XLSX

Por defecto, Aspose.PDF utiliza XML Spreadsheet 2003 para almacenar datos. Para convertir archivos PDF al formato XLSX, Aspose.PDF tiene una clase llamada ExcelSaveOptions con Format. Un objeto de la clase ExcelSaveOptions se pasa como segundo argumento al método Document.Save(..).

    public static void ConvertPDFtoExcelAdvanced_SaveXLSX() {
        // Cargar documento PDF
        Document pdfDocument = new Document(_dataDir + "input.pdf");

        // Instanciar objeto de opción de guardado de Excel
        ExcelSaveOptions excelSave = new ExcelSaveOptions();
        excelSave.setFormat(ExcelSaveOptions.ExcelFormat.XLSX);

        // Guardar la salida en formato XLS
        pdfDocument.save("PDFToXLS_out.xlsx", excelSave);
    }