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

我想使用 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 或类似的东西。我只想创建自己的页面大小,但我无法弄清楚我的代码有什么问题。我能做什么来解决这个问题?


HUWWW
浏览 95回答 1
1回答

守着一只汪

Rectangle 和 PageSize 是不同的类型,尽管 PageSize 扩展了 Rectangle,但 Document 构造函数需要一个 PageSize。在 Netbeans 中,使用 CTRL-SPACE 在工作时查看更多内容: 请更换这个Rectangle pagesize = new Rectangle(148, 350); Document document = new Document(pdf, pagesize);有了这个:PageSize pagesize = new PageSize(148, 350); Document document = new Document(pdf, pagesize);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java