0

HTMLページをPDFに変換しています。ページを pdf に変換すると、html ページのコンテンツが A4 ページに収まりません。コンテンツが欠落することなく、htmlページ全体をpdfとして変換したい。

私はすでにhtmlをpdfに変換するコードを持っています

            String tempOutFileNameXHTML = "/Users/Common/index" + i + DOT + "xhtml";
            String tempOutFileNamePDF = "/Users/Common/index" + i + DOT + PDF;
            File targetFile = targetFiles.get(i); // gets all the specified html files
            CleanerProperties props = new CleanerProperties();
            props.setTranslateSpecialEntities(true);
            props.setTransResCharsToNCR(true);
            props.setOmitComments(true);

            //checking of starting and ending tags are in proper
            HtmlCleaner htmlCleaner = new HtmlCleaner(props);
            TagNode tagNode = htmlCleaner.clean(targetFile);
            PrettyXmlSerializer prettyXmlSerializer = new PrettyXmlSerializer(props);

            prettyXmlSerializer.writeToFile(tagNode, tempOutFileNameXHTML, "utf-8");

            File xhtmlpath = new File(tempOutFileNameXHTML);
            File pdfPath = new File(tempOutFileNamePDF);
            com.itextpdf.text.Document pdfDocument = null;
            PdfWriter pdfWriter = null;
            pdfDocument = new com.itextpdf.text.Document(com.itextpdf.text.PageSize.A4); // TODO handle this

            pdfWriter = PdfWriter.getInstance(pdfDocument, new FileOutputStream(pdfPath));
            pdfDocument.open();
            Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 25, Font.BOLD);
            pdfDocument.add(new Paragraph("Target : " + targetFile.getParentFile().getName(), catFont));

            XMLWorkerHelper.getInstance().parseXHtml(pdfWriter, (com.itextpdf.text.Document) pdfDocument,
                    new FileInputStream(xhtmlpath), null);

            pdfDocument.close();

ここでの問題は、html ページの幅が長すぎて、A4 サイズの pdf に収まらない場合です。とにかく、コンテンツを失うことなく縮小したり、pdf にしたりすることはできますか。? どうやってやるの ?HTML ページを縮小して pdf に変換できますか? これを行う方法について何か考えはありますか?

4

2 に答える 2

0

フライングソーサーXHTML レンダラー プロジェクトは、XHTML を PDF に出力することをサポートしています。ここで例を見てください。」

>ソース<

于 2013-01-11T12:33:34.583 に答える
0

iText はおそらく CSS スタイルをサポートしています。スタイルシートを使用して、HTML ページを 1 ページに収まるようにフォーマットできます。スタイル シートと iText に関する情報: http://itextpdf.com/examples/iia.php?id=56

前述のように、もう 1 つの HTML から PDF へのコンバーターである Flying Saucer を試すこともできます。少なくとも Flying Saucer では、実際のスタイル シートを提供でき、CSS のサポートも充実しています。

于 2013-01-11T13:24:25.227 に答える