【问题标题】:how to correctly set page layout in itext如何在itext中正确设置页面布局
【发布时间】:2011-12-13 09:51:54
【问题描述】:

我正在尝试设置连续页面布局,但它不起作用。

Document document = createDocument();
PdfWriter itextWriter = PdfWriter.getInstance(document, out);
itextWriter.setPdfVersion(PdfWriter.VERSION_1_5);
itextWriter.setViewerPreferences(PdfWriter.PageLayoutOneColumn);
document.open();
renderDoc(document);
document.close();

我做错了什么?

UPD 我使用的是 itext 2.1.7

【问题讨论】:

    标签: java pdf-generation itext


    【解决方案1】:
    baos = new ByteArrayOutputStream();
            Document document = new Document(PageSize.A4, 60, 60, 120, 80);
            PdfWriter writer = PdfWriter.getInstance(document, baos);
            HeaderAndFooter event = new HeaderAndFooter();
            writer.setPageEvent(event);
            document.open();
    

    在 pdf 编写器中 关注这个

        byte aonebyte[] = null;
        String exp= null;
        if (aonebyte!= null)
        {
            response.setContentType("application/pdf");
            response.setContentLength(abyte.length);
    
            ServletOutputStream sos = response.getOutputStream();
            sos.write(abyte);
            sos.flush();
            sos.close();
            exp= null;
        }
        else
        {
            PrintWriter out = response.getWriter();
            out.println("<html><head><title>Error</title></head>\n"
                    + "<body><h1>PDF Printer Error</h1><h3>No 'fo' "
                    + "request param given.</body></html>");
        }
        return exp;
    
    }
    

    【讨论】:

    • 这是什么?你为什么要告诉我如何做出 servlet 响应?问题是关于在文档中布局页面。我在您的回答中发现可能唯一相关的是HeaderAndFooter event = new HeaderAndFooter();,但我不知道如何。更重要的是它在我正在使用的版本中不可用。
    猜你喜欢
    • 1970-01-01
    • 2018-12-22
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-14
    • 2018-01-07
    • 1970-01-01
    • 2019-06-27
    相关资源
    最近更新 更多