Когда мы хотим поделиться данными на рабочих листах, которые не требуют редактирования, мы часто конвертируем такие рабочие книги Excel или определенные листы в формат PDF. В этой статье мы узнаем 4 различных способа преобразования электронных таблиц Excel в формат PDF на Java с помощью API преобразования документов.
Каждый подход к преобразованию может быть принят с небольшим изменением кода при загрузке электронных таблиц или с некоторыми изменениями в параметрах преобразования формата PDF. Вот некоторые из возможных способов преобразования электронных таблиц в статье.
- Java API для преобразования файлов Excel в PDF
- Преобразовать все листы в PDF
- Непрерывное преобразование листов Excel в PDF
- Конкретный список листов Excel для преобразования в PDF
- Преобразовать выбранный диапазон ячеек из листа Excel в PDF
Java API для преобразования файлов Excel в PDF
GroupDocs.Conversion предоставляет Java API, который позволяет преобразовывать многие форматы файлов Excel, включая XLS, XLSX, в формат PDF. В этой статье мы будем использовать его GroupDocs.Conversion for Java. В дополнение к электронным таблицам API поддерживает преобразование текстовых документов, презентаций, электронных книг, изображений и т. д., упомянутых в документации.
Вы можете загрузить файл JAR из раздела загрузок или использовать последний репозиторий и конфигурации зависимостей Maven в своих приложениях Java.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>21.10</version>
</dependency>
Преобразование всех листов файлов Excel в PDF — Java
Самый простой способ — преобразовать все листы в формат PDF. Следующие шаги преобразуют всю книгу (все листы) в формат PDF на Java.
- Загрузите книгу Excel (XLS, XLSX) с помощью Конвертера.
- Преобразуйте его в формат PDF, используя любой из перегруженных методов convert() с помощью PdfConvertOptions.
Ниже приведены 2 строки исходного кода Java, которые преобразуют полную книгу Excel в PDF.
/*
* Преобразование всех листов Excel в формат PDF на Java
*/
Converter converter = new Converter("path/spreadsheet.xlsx");
converter.convert("path/all-sheets-converted.pdf", new PdfConvertOptions());
Последовательное преобразование листов Excel в PDF — Java
Если вы заинтересованы в последовательном извлечении подмножества электронных таблиц, вы можете легко сделать это, указав начальный номер листа и количество последовательных листов. Ниже приведены шаги для преобразования любой подпоследовательности листов книги Excel в формат PDF на Java.
- Загрузите таблицу с помощью Конвертера.
- Определите параметры преобразования PDF с помощью PdfConvertOptions.
- Установите начальный номер листа и количество последующих листов.
- Конвертируйте выбранные листы в PDF в соответствии с настройками, используя метод convert().
Ниже приведен фрагмент кода Java, который преобразует первые два листа в PDF. (Номера листов 1 и 2)
/*
* Преобразование последовательности листов Excel в формат PDF на Java
*/
Converter converter = new Converter("path/spreadsheet.xlsx");
PdfConvertOptions convertOptions = new PdfConvertOptions();
convertOptions.setPageNumber(1);
convertOptions.setPagesCount(2);
converter.convert("path/sequential-conversion.pdf", convertOptions);
Преобразование определенных листов Excel в PDF — Java
Если вы хотите преобразовать случайные листы (например, листы с номерами 1, 2, 4, 7, …), вы можете просто указать точные номера листов в виде списка при преобразовании. Ниже приведены шаги для преобразования любого конкретного списка номеров листов в формат PDF на Java.
- Загрузите файл Excel с помощью Конвертера.
- Укажите точные номера листов в виде списка, используя PdfConvertOptions.
- Конвертируйте перечисленные листы в формат PDF с помощью метода convert().
Следующий фрагмент кода преобразует номера листов 1 и 3 в формат PDF.
/*
* Преобразование указанного списка листов Excel в формат PDF на Java
*/
Converter converter = new Converter("path/spreadsheet.xlsx");
PdfConvertOptions convertOptions = new PdfConvertOptions();
convertOptions.setPages(Arrays.asList(1,3));
converter.convert("path/specific-sheets-conversion.pdf", convertOptions);
Преобразование диапазона ячеек листа Excel в PDF — Java
Вот необычный способ преобразования любого сегмента электронной таблицы (таблиц). Мы можем преобразовать любые диапазоны ячеек листа (листов) Excel почти так же, как и другие подходы, обсуждавшиеся выше. Ниже приведены шаги для преобразования диапазона ячеек листа(ов) рабочей книги в формат PDF на Java.
- Определите диапазон ячеек листов.
- Загрузить файл электронной таблицы.
- Выберите листы, указав диапазон последовательных листов или точные номера листов.
- Конвертируйте листы в формат PDF в соответствии с настройками.
Следующий код преобразует диапазон ячеек (A1:C20) листа номер 1 в формат PDF на Java.
/*
* Преобразование указанного диапазона ячеек указанных листов Excel в формат PDF в Java
*/
// Подготовьте параметры загрузки и диапазон для исходного файла XLSX.
SpreadsheetLoadOptions loadOptions = new SpreadsheetLoadOptions();
loadOptions.setConvertRange("A1:C20");
Converter converter = new Converter("path/spreadsheet.xlsx", loadOptions);
PdfConvertOptions convertOptions = new PdfConvertOptions();
convertOptions.setPageNumber(1);
convertOptions.setPagesCount(1);
converter.convert("path/convert-cell-range.pdf", convertOptions);
Получите бесплатную лицензию API
Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.
Вывод
Подведем итог тому, что мы сегодня узнали. Мы узнали четыре разных способа преобразования электронных таблиц Excel в формат PDF на Java с помощью GroupDocs.Conversion. Сначала мы преобразовали всю книгу в формат PDF, а затем и последующие листы. Затем несколько листов были преобразованы в PDF, указав их точные номера листов. Наконец, мы получили файл PDF из выбранного диапазона ячеек выбранного листа (листов).
Узнайте больше об GroupDocs.Conversion API из документации. По вопросам обращайтесь к нам через форум.