MailMerge и конвертировать Docx в PDF с помощью Apache-POI - Java - PullRequest
0 голосов
/ 11 октября 2018

У меня есть файл docx, в котором есть поля слияния.Он включает в себя файл XLS для создания нескольких записей.Каждая запись в docx связана с записью в файле xls.Когда я конвертирую этот docx в pdf, используя apache poi, он конвертирует ТОЛЬКО первую запись.Как конвертировать все записи?Вот что я сделал:

import fr.opensagres.poi.xwpf.converter.pdf.PdfConverter;
import fr.opensagres.poi.xwpf.converter.pdf.PdfOptions;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

public class Doc2PDF {

    /**
     * @param args the command line arguments
     */
    public static final String SOURCE_DOCX = "N:\\HSV_Letter1.docx";
    public static final String TARGET_PDF = "N:\\HSV.pdf";

    public static void main(String[] args) {
        // TODO code application logic here
        Doc2PDF cwoWord = new Doc2PDF();
        System.out.println("Start");
        cwoWord.ConvertToPDF(SOURCE_DOCX, TARGET_PDF);

    }

    public void ConvertToPDF(String docPath, String pdfPath) {
        try {
            InputStream doc = new FileInputStream(new File(docPath));
//            XWPFDocument document = new XWPFDocument(new File(docPath).toURI().toURL().openStream());
            XWPFDocument document = new XWPFDocument(doc);
            PdfOptions options = PdfOptions.create();
            OutputStream out = new FileOutputStream(new File(pdfPath));
            PdfConverter.getInstance().convert(document, out, options);
            System.out.println("Done");
        } catch (FileNotFoundException ex) {
            System.out.println(ex.getMessage());
        } catch (IOException ex) {

            System.out.println(ex.getMessage());
        }
    }

}
...