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

问题描述 投票:0回答:1

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

java swing netbeans-8 itext7
1个回答
0
投票

Rectangle和PageSize是不同的类型,尽管PageSize扩展了Rectangle,但是Document构造函数期望使用PageSize。

请替换此

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

带有此:

PageSize pagesize = new PageSize(148, 350);
Document document = new Document(pdf, pagesize);
© www.soinside.com 2019 - 2024. All rights reserved.