为了账号安全,请及时绑定邮箱和手机立即绑定

如何创建我自己的 PageSize 变量以使用 iTextpdf 创建 PDF 文档

如何创建我自己的 PageSize 变量以使用 iTextpdf 创建 PDF 文档

HUWWW 2023-09-06 15:49:55
我想使用 iTextpdf 7 创建 pdf 文档,但我不想使用任何默认页面大小。我想设置纸张尺寸的宽度和高度,但是当我尝试使用Rectangle()类来执行此操作时,它会显示错误,并且我无法创建任何内容。我以前从未使用过这个库,我不知道如何做好它。这是我编写的代码的示例:   String url_file= "C:\\Users\\Mike89\\Documents\\PDFJava\\pdfFiles\\SALES\\SALEINVOICE"+id+".pdf"; PdfWriter writer = new PdfWriter(url_file); PdfDocument pdf = new PdfDocument(writer);             Rectangle pagesize = new Rectangle(148, 350); Document document = new Document(pdf, pagesize); document.setMargins(2, 2, 2, 2);         Table table1 = new Table(UnitValue.createPercentArray(1)).useAllAvailableWidth().setBorder(Border.NO_BORDER);    Cell cell1;    cell1 = new Cell();    cell1.add(new Paragraph("COMPANY NAME").setTextAlignment(TextAlignment.CENTER).setFontSize(5).setBold()).setBorder(Border.NO_BORDER);    cell1.add(new Paragraph("DOCUMENT ID").setTextAlignment(TextAlignment.CENTER).setFontSize(5)).setBorder(Border.NO_BORDER);    cell1.add(new Paragraph("COMPANY ADDRESS").setTextAlignment(TextAlignment.CENTER).setFontSize(5)).setBorder(Border.NO_BORDER);    cell1.add(new Paragraph("TELEPHONE").setTextAlignment(TextAlignment.CENTER).setFontSize(5)).setBorder(Border.NO_BORDER);    table1.addCell(cell1);    document.add(table1);   document.close();netbeans 向我显示的错误是: incompatible types: Rectangle cannot be converted to PageSize我不想使用 PageSize.A8 或 A9 或 A10 或类似的东西。我只想创建自己的页面大小,但我无法弄清楚我的代码有什么问题。我能做什么来解决这个问题?
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

Rectangle 和 PageSize 是不同的类型,尽管 PageSize 扩展了 Rectangle,但 Document 构造函数需要一个 PageSize。在 Netbeans 中,使用 CTRL-SPACE 在工作时查看更多内容: 

https://img1.sycdn.imooc.com//64f82f5500014bec18250150.jpg

请更换这个

Rectangle pagesize = new Rectangle(148, 350);
Document document = new Document(pdf, pagesize);

有了这个:

PageSize pagesize = new PageSize(148, 350);
Document document = new Document(pdf, pagesize);


查看完整回答
反对 回复 2023-09-06
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信