itext 7 中 PdfCanvas 和 Canvas 的区别
Difference between PdfCanvas and Canvas in itext 7
我想知道 iText7 中 Pdfcanvas 和 Canvas 之间的区别以及我们何时使用它们中的每一个..?
简而言之,PdfCanvas
设计用于 low-level 操作,而 Canvas
- 用于 high-level 操作。
您想将矩形/路径/文本和任何其他运算符写入 pdf 的内容流吗?使用 PdfCanvas
实例。
您想将 high-level iText 对象(Paragraph
s、Table
s、List
s、...)添加到您的 PdfCanvas
?使用 Canvas
实例。
PdfCanvas 例子
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(destinationFolder + "simpleCanvas.pdf"));
PdfPage page1 = pdfDoc.addNewPage();
PdfCanvas canvas = new PdfCanvas(page1);
canvas.rectangle(100, 100, 100, 100).fill();
pdfDoc.close();
生成的 pdf:
Canvas 例子
PdfDocument pdf = new PdfDocument(new PdfWriter(out));
PdfPage page = pdf.addNewPage();
PdfCanvas pdfCanvas = new PdfCanvas(page);
Rectangle rectangle = new Rectangle(100, 100, 100, 100);
Canvas canvas = new Canvas(pdfCanvas, pdf, rectangle);
canvas.add(new Paragraph("Hello World"));
canvas.close();
pdf.close();
生成的 pdf:
我想知道 iText7 中 Pdfcanvas 和 Canvas 之间的区别以及我们何时使用它们中的每一个..?
简而言之,PdfCanvas
设计用于 low-level 操作,而 Canvas
- 用于 high-level 操作。
您想将矩形/路径/文本和任何其他运算符写入 pdf 的内容流吗?使用 PdfCanvas
实例。
您想将 high-level iText 对象(Paragraph
s、Table
s、List
s、...)添加到您的 PdfCanvas
?使用 Canvas
实例。
PdfCanvas 例子
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(destinationFolder + "simpleCanvas.pdf"));
PdfPage page1 = pdfDoc.addNewPage();
PdfCanvas canvas = new PdfCanvas(page1);
canvas.rectangle(100, 100, 100, 100).fill();
pdfDoc.close();
生成的 pdf:
Canvas 例子
PdfDocument pdf = new PdfDocument(new PdfWriter(out));
PdfPage page = pdf.addNewPage();
PdfCanvas pdfCanvas = new PdfCanvas(page);
Rectangle rectangle = new Rectangle(100, 100, 100, 100);
Canvas canvas = new Canvas(pdfCanvas, pdf, rectangle);
canvas.add(new Paragraph("Hello World"));
canvas.close();
pdf.close();
生成的 pdf: