Convertir PDF a Excel

Aspose.PDF para Android a través de la API de Java 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 de Excel existentes. También proporciona la capacidad de transformar libros de trabajo de Excel a 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 constructor Document.Save(..).

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

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

public void convertPDFtoExcelSimple() {
        // Abrir el documento PDF de origen
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

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

        File xlsFileName = new File(fileStorage, "PDF-to-Excel.xlsx");
        try {
            // Guardar el archivo en formato de documento MS
            document.save(xlsFileName.toString(), SaveFormat.Excel);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }

Convertir PDF a XLS con Control de Columna

Al convertir un PDF al formato XLS, se agrega 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 void convertPDFtoExcelAdvanced_InsertBlankColumnAtFirst() {
        // Abrir el documento PDF de origen
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instanciar objeto de opción de guardado de Excel
        ExcelSaveOptions excelSaveOptions = new ExcelSaveOptions();
        excelSaveOptions.setInsertBlankColumnAtFirst(false);

        File xlsFileName = new File(fileStorage, "PDF-to-Excel.xlsx");
        try {
            // Guardar el archivo en formato de documento de MS
            document.save(xlsFileName.toString(), excelSaveOptions);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }

Convertir PDF a una Hoja de Cálculo de Excel Única

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 como false por defecto. Para asegurarse de que todas las páginas se exporten a una sola hoja en el archivo de Excel de salida, configure la propiedad MinimizeTheNumberOfWorksheets a true.

 public void convertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets() {
        // Abrir el documento PDF fuente
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instanciar el objeto ExcelSave Option
        ExcelSaveOptions excelSaveOptions = new ExcelSaveOptions();
        excelSaveOptions.setMinimizeTheNumberOfWorksheets(true);

        // Guardar la salida en XLSX
        File xlsFileName = new File(fileStorage, "PDF-to-Excel.xlsx");
        try {
            // Guardar el archivo en formato MS Excel
            document.save(xlsFileName.toString(), excelSaveOptions);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }

Convertir a formato XLSX

Por defecto, Aspose.PDF usa 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 void convertPDFtoExcelAdvanced_SaveCSV() {
        // Cargar documento PDF
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instanciar el objeto de opción de guardado de Excel
        ExcelSaveOptions excelSaveOptions = new ExcelSaveOptions();
        excelSaveOptions.setFormat(ExcelSaveOptions.ExcelFormat.CSV);

        // Guardar la salida en CSV
        File xlsFileName = new File(fileStorage, "PDF-to-Excel.csv");
        try {
            // Guardar el archivo en formato CSV
            document.save(xlsFileName.toString(), excelSaveOptions);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }