Изменение слова документа в PDF-файл - PullRequest
0 голосов
/ 16 августа 2011

Есть ли способ конвертировать файл .doc в .pdf, сохраняя формат, аналогичный файлу doc, который также может включать изображения?

Я могу создать PDF-файл из документа, но отображается только текст.

Ответы [ 5 ]

4 голосов
/ 16 августа 2011

Вы можете использовать библиотеку на основе Open-Office.Он позволяет конвертировать из (и в) все форматы, поддерживаемые OpenOffice.

Более того, если ваш документ правильно прочитан OpenOffice, он должен быть конвертирован точно так, как вы видите.

Я знаю JOD Converter для Пример :

File inputFile = new File("document.doc");
File outputFile = new File("document.pdf");

// connect to an OpenOffice.org instance running on port 8100
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
connection.connect();

// convert
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);

// close the connection
connection.disconnect();

Вы также можете использовать простую командную строку (с установленным oo):

#!/bin/sh 
DIR=$(pwd) 
DOC=$DIR/$1 
echo "Doc to convert : $DOC"
/user/bin/oowriter-invisible "macro://Standard.Module1.ConvertWordToPDF($DOC)"
2 голосов
/ 07 октября 2013

Вы можете использовать Openoffice Macro для экспорта документов в формате PDF,

sub Docaspdf  

rem ----------------------------------------------------------------------  
rem define variables  
dim document   as object  
dim dispatcher as object  

rem ----------------------------------------------------------------------  
rem get access to the document  
document   = ThisComponent.CurrentController.Frame  
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")  

rem ----------------------------------------------------------------------  
dim args1(2) as new com.sun.star.beans.PropertyValue  
args1(0).Name = "URL"  
args1(0).Value = "file:///C:/doc.pdf"  
args1(1).Name = "FilterName"  
args1(1).Value = "writer_pdf_Export"  
args1(2).Name = "FilterData"  
args1(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EmbedStandardFonts",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("AllowDuplicateFieldNames",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPasswords",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPermissionPassword",0,Array(),com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))  

dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args1())  
end sub
2 голосов
/ 16 августа 2011

Вы можете использовать Apache POI для чтения файла документа и затем Apache PDFBox для записи файла PDF.

1 голос
/ 23 марта 2014
import officetools.OfficeFile; 

FileInputStream(new File("test.doc"));  
FileOutputStream fos = new FileOutputStream(new File("test.pdf")); /

OfficeFile f = new OfficeFile(fis,"localhost","8100", false);  

конвертировать в pdf

f.convert(fos,"pdf");
0 голосов
/ 17 августа 2011

Вы можете использовать Aspose.Words для Java в конвертировать файлы Doc в PDF . Этот компонент сохраняет формат слова документа при преобразовании в PDF. Он также преобразует изображения вместе с текстом.

Раскрытие информации: я работаю евангелистом-разработчиком в Aspose.

...