Преобразовать PDF в Excel

Aspose.PDF for Android via Java API позволяет рендерить ваши PDF‑файлы в Excel XLS и XLSX форматы файлов. У нас уже есть другой API, известный как Aspose.Cells for Java, который предоставляет возможность создавать и изменять существующие рабочие книги Excel. Он также предоставляет возможность преобразовывать рабочие книги Excel в формат PDF.

Преобразовать PDF в Excel XLS

Чтобы преобразовать файлы PDF в формат XLS, Aspose.PDF имеет класс под названием ExcelSaveOptions. Объект ExcelSaveOptions класс передаётся в качестве второго аргумента конструктору Document.Save(..).

Преобразование PDF‑файла в формат XLSX является частью библиотеки Aspose.PDF for Java версии 18.6. Чтобы преобразовать PDF‑файлы в формат XLSX, необходимо установить формат XLSX с помощью метода setFormat(). ExcelSaveOptions Класс.

Следующий фрагмент кода показывает, как преобразовать файл PDF в форматы xls и .xlsx:

public void convertPDFtoExcelSimple() {
        // Open the source PDF document
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instantiate ExcelSave Option object
        ExcelSaveOptions saveOptions = new ExcelSaveOptions();

        File xlsFileName = new File(fileStorage, "PDF-to-Excel.xlsx");
        try {
            // Save the file into MS document format
            document.save(xlsFileName.toString(), SaveFormat.Excel);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }

Конвертировать PDF в XLS с контрольным столбцом

При конвертации PDF в формат XLS в выходной файл добавляется пустой столбец в качестве первого столбца. В ExcelSaveOptions Опция class InsertBlankColumnAtFirst используется для управления этим столбцом. Ее значение по умолчанию — true.

public void convertPDFtoExcelAdvanced_InsertBlankColumnAtFirst() {
        // Open the source PDF document
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelSaveOptions = new ExcelSaveOptions();
        excelSaveOptions.setInsertBlankColumnAtFirst(false);

        File xlsFileName = new File(fileStorage, "PDF-to-Excel.xlsx");
        try {
            // Save the file into MS document format
            document.save(xlsFileName.toString(), excelSaveOptions);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }

Преобразовать PDF в один лист Excel

При экспорте PDF‑файла с большим количеством страниц в XLS каждая страница экспортируется на отдельный лист в файле Excel. Это происходит потому, что свойство MinimizeTheNumberOfWorksheets по умолчанию установлено в false. Чтобы обеспечить экспорт всех страниц на один единственный лист в результирующем файле Excel, установите свойство MinimizeTheNumberOfWorksheets в true.

 public void convertPDFtoExcelAdvanced_MinimizeTheNumberOfWorksheets() {
        // Open the source PDF document
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelSaveOptions = new ExcelSaveOptions();
        excelSaveOptions.setMinimizeTheNumberOfWorksheets(true);

        // Save the output in XLSX
        File xlsFileName = new File(fileStorage, "PDF-to-Excel.xlsx");
        try {
            // Save the file into MS Excel format
            document.save(xlsFileName.toString(), excelSaveOptions);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }

Преобразовать в формат XLSX

По умолчанию Aspose.PDF использует XML Spreadsheet 2003 для хранения данных. Чтобы преобразовать PDF‑файлы в формат XLSX, Aspose.PDF имеет класс под названием ExcelSaveOptions с параметром Format. Объект ExcelSaveOptions класс передается в качестве второго аргумента методу Document.Save(..).

 public void convertPDFtoExcelAdvanced_SaveCSV() {
        // Load PDF document
        try {
            document = new Document(inputStream);
        } catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }

        // Instantiate ExcelSave Option object
        ExcelSaveOptions excelSaveOptions = new ExcelSaveOptions();
        excelSaveOptions.setFormat(ExcelSaveOptions.ExcelFormat.CSV);

        // Save the output in CSV
        File xlsFileName = new File(fileStorage, "PDF-to-Excel.csv");
        try {
            // Save the file into CSV format
            document.save(xlsFileName.toString(), excelSaveOptions);
        }
        catch (Exception e) {
            resultMessage.setText(e.getMessage());
            return;
        }
        resultMessage.setText(R.string.success_message);
    }