Преобразование PDF в документы Microsoft Word на Java
Обзор
Эта статья объясняет, как преобразовать PDF в Word, используя Java. Код очень простой, просто загрузите PDF в класс Document и сохраните его в выходном формате Microsoft Word DOC или DOCX. Она охватывает следующие темы
Convert PDF to DOC
Одной из самых популярных функций является преобразование PDF в Microsoft Word DOC, что позволяет легко манипулировать содержимым. Aspose.PDF for Java позволяет конвертировать файлы PDF в DOC.
Aspose.PDF for Java может создавать PDF-документы с нуля и является отличным инструментарием для обновления, редактирования и манипуляции существующими PDF-документами. Важной функцией является возможность преобразования страниц и целых PDF-документов в изображения. Еще одна популярная функция — это преобразование PDF в Microsoft Word DOC, что делает содержимое легким для манипуляции. (Большинство пользователей не могут редактировать PDF-документы, но могут легко работать с таблицами, текстом и изображениями в Microsoft Word.)
Чтобы сделать процесс простым и понятным, Aspose.PDF for Java предоставляет код из двух строк для преобразования исходного PDF-файла в файл DOC.
Следующий фрагмент кода на Java демонстрирует процесс преобразования файла PDF в формат DOC.
- Создайте экземпляр объекта Document с исходным документом PDF.
- Сохраните его в формате SaveFormat.Doc, вызвав метод Document.save().
public static void convertPDFtoWord() {
// Открыть исходный PDF-документ
Document document = new Document(DATA_DIR + "PDFToDOC.pdf");
// Сохранить файл в формате MS документа
document.save(DATA_DIR + "PDFToDOC_out.doc", SaveFormat.Doc);
document.close();
}
Использование класса DocSaveOptions
Класс DocSaveOptions предоставляет множество свойств, которые улучшают процесс преобразования PDF-файлов в формат DOC. Среди этих свойств, Mode позволяет указать режим распознавания содержимого PDF. Вы можете указать любое значение из перечисления RecognitionMode для этого свойства. Каждое из этих значений имеет свои преимущества и ограничения:
-
Режим Textbox быстрый и хорош для сохранения оригинального вида PDF-файла, но редактируемость полученного документа может быть ограничена. Каждый визуально сгруппированный блок текста в оригинальном PDF преобразуется в текстовое поле в выходном документе. Это достигает максимального сходства с оригиналом, поэтому выходной документ выглядит хорошо, но он состоит полностью из текстовых полей, и это может затруднить редактирование в Microsoft Word.
-
Поток — это режим полного распознавания, где движок выполняет группировку и многоуровневый анализ для восстановления оригинального документа в соответствии с намерениями автора, создавая при этом легко редактируемый документ. Ограничение заключается в том, что выходной документ может выглядеть иначе, чем оригинал.
-
Свойство RelativeHorizontalProximity может использоваться для управления относительной близостью между текстовыми элементами, что означает, что расстояние нормируется по размеру шрифта. Более крупные шрифты могут иметь большие расстояния между слогами и все равно считаться единым целым. Оно указывается в процентах от размера шрифта, например, 1 = 100%. Это означает, что два символа размером 12pt, которые расположены на расстоянии 12pt друг от друга, считаются близкими.
-
RecognitionBullets используется для включения распознавания маркеров во время конверсии.
public static void convertPDFtoWordDocAdvanced() {
Path pdfFile = Paths.get(DATA_DIR.toString(), "PDF-to-DOC.pdf");
Path docFile = Paths.get(DATA_DIR.toString(), "PDF-to-DOC.doc");
Document document = new Document(pdfFile.toString());
DocSaveOptions saveOptions = new DocSaveOptions();
// Укажите выходной формат как DOC
saveOptions.setFormat(DocSaveOptions.DocFormat.Doc);
// Установите режим распознавания как Flow
saveOptions.setMode(DocSaveOptions.RecognitionMode.Flow);
// Установите горизонтальную близость как 2.5
saveOptions.setRelativeHorizontalProximity(2.5f);
// Включите значение для распознавания маркеров во время процесса конвертации
saveOptions.setRecognizeBullets(true);
document.save(docFile.toString(), saveOptions);
document.close();
}
Попробуйте преобразовать PDF в DOC онлайн
Aspose.PDF для Java представляет вам бесплатное онлайн-приложение “PDF to Word”, где вы можете попробовать исследовать функциональность и качество его работы.
Преобразовать PDF в DOCX
Перечисление DocFormat также предоставляет возможность выбрать DOCX в качестве выходного формата для документов Word. Чтобы отобразить исходный PDF-файл в формате DOCX, используйте указанный ниже фрагмент кода.
Как преобразовать PDF в DOCX
Следующий фрагмент кода на Java показывает процесс преобразования PDF-файла в формат DOCX.
- Создайте экземпляр объекта Document с исходным PDF-документом.
- Сохраните его в формате SaveFormat.DocX, вызвав метод Document.save().
public static void convertPDFtoWord_DOCX_Format() {
// Открыть исходный PDF-документ
Document document = new Document(DATA_DIR + "PDFToDOC.pdf");
// Сохранить результирующий DOC-файл
document.save(DATA_DIR + "saveOptionsOutput_out.doc", SaveFormat.DocX);
document.close();
}
Класс DocSaveOptions имеет свойство с именем Format, которое предоставляет возможность указать формат результирующего документа, то есть DOC или DOCX. Для того чтобы конвертировать PDF файл в формат DOCX, пожалуйста, передайте значение Docx из перечисления DocSaveOptions.DocFormat.
Пожалуйста, посмотрите на следующий фрагмент кода, который предоставляет возможность конвертировать PDF файл в формат DOCX с помощью Java.
public static void convertPDFtoWord_Advanced_DOCX_Format() {
// Открыть исходный PDF документ
Document document = new Document(DATA_DIR + "PDFToDOC.pdf");
// Создать объект DocSaveOptions
DocSaveOptions saveOptions = new DocSaveOptions();
// Указать выходной формат как DOCX
saveOptions.setFormat(DocSaveOptions.DocFormat.DocX);
// Установить другие параметры DocSaveOptions
// ....
// Сохранить документ в формате docx
document.save("ConvertToDOCX_out.docx", saveOptions);
document.close();
}
Попробуйте конвертировать PDF в DOCX онлайн
Aspose.PDF for Java предлагает вам бесплатное онлайн-приложение “PDF to DOCX”, где вы можете попробовать исследовать функциональность и качество работы.