2015-09-02 2 views
-6

как конвертировать ms-документ в PDF, есть ли какой-либо пример pls share со мной .. спасибо.Как конвертировать .doc/.docx в pdf в java с помощью POI ..?

+0

http://stackoverflow.com/questions/26925856/convert-txt-file-to-pdf-using-itext-keep-formatting проверить это также http://karanbalkar.com/2014/01/convert-text-file-to-pdf-document-in-java/ –

+0

спасибо за ваш ответ .. я посмотрю на это ... – Karthick

ответ

1

Если вы взыскательные использовать POI я думаю, вы должны смотреть на org.apache.poi.hwpf.converter
Я никогда не пробовал это, но я думаю, подмигнул стоит попробовать по крайней мере. Кажется, вы можете использовать WordToFoConverter для преобразования вашего XWPFDocument в FO-файл (example here).
Оттуда вы можете использовать апачей FOP для преобразования FO-файл в формате PDF, как это:

// Step 1: Construct a FopFactory 
// (reuse if you plan to render multiple documents!) 
FopFactory fopFactory = FopFactory.newInstance(); 

// Step 2: Set up output stream. 
// Note: Using BufferedOutputStream for performance reasons (helpful with FileOutputStreams). 
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File("C:/Temp/myfile.pdf"))); 

try { 
    // Step 3: Construct fop with desired output format 
    Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out); 

    // Step 4: Setup JAXP using identity transformer 
    TransformerFactory factory = TransformerFactory.newInstance(); 
    Transformer transformer = factory.newTransformer(); // identity transformer 

    // Step 5: Setup input and output for XSLT transformation 
    // Setup input stream 
    Source src = new StreamSource(new File("C:/Temp/myfile.fo")); 

    // Resulting SAX events (the generated FO) must be piped through to FOP 
    Result res = new SAXResult(fop.getDefaultHandler()); 

    // Step 6: Start XSLT transformation and FOP processing 
    transformer.transform(src, res); 

} finally { 
    //Clean-up 
    out.close(); 
} 

Этот код был взят из https://xmlgraphics.apache.org/fop/0.95/embedding.html упаковывают вы хотите узнать больше по этой теме.

+1

Нет @moli, вы не можете конвертировать XWPFDocument в файл FO, потому что WordToFoConverter ограничен (старым) HWPFDocument ... (действительно, ссылка, которую вы даете, является примером только для HWPFDocument !!!) – maxxyme

+0

Вы говорите «если вам требуется использовать POI», что вы предлагаете вместо этого ... –

Смежные вопросы