Установите размер страницы iText 7 на основе содержимого HTML - PullRequest
0 голосов
/ 30 августа 2018

У меня есть следующая Java-программа для создания iText PDF:

//Create the PDF file
public int CreatePDF(String[] pSrc, 
                     String pDest) 
           throws IOException 
{ 

    //Initialize
    ConverterProperties vProperties = new ConverterProperties();

    //Adding the fonts 
    FontProvider vfontProvider = new DefaultFontProvider(false, false, false);
    for (String font : FONTS) 
    {
        FontProgram vfontProgram = FontProgramFactory.createFont(font);
        vfontProvider.addFont(vfontProgram);
    }
    vProperties.setFontProvider(vfontProvider);

    PdfWriter vWriter = new PdfWriter(pDest, new WriterProperties().setCompressionLevel(9));
    PdfDocument vPDF = new PdfDocument(vWriter);
    PdfMerger vMerger = new PdfMerger(vPDF);

    //Convert to PDF
    for (String vHTML : pSrc)
    {
        ByteArrayOutputStream vArrByteAOS = new ByteArrayOutputStream();
        PdfDocument vDoc = new PdfDocument(new PdfWriter(vArrByteAOS, new WriterProperties().setCompressionLevel(9)));
        vDoc.setDefaultPageSize(new PageSize(735, 1080));
        HtmlConverter.convertToPdf(vHTML, vDoc, vProperties);
        vDoc = new PdfDocument(new PdfReader(new ByteArrayInputStream(vArrByteAOS.toByteArray())));
        vMerger.merge(vDoc, 1, vDoc.getNumberOfPages());
        vDoc.close();
    }
    vPDF.close();
    return 0;
}

Как установить высоту страницы (теперь жестко заданную на 1080) в зависимости от размера содержимого HTML (pSrc), чтобы обеспечить ее соответствие одной странице.

...