Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
在11个月前关闭。
我想知道iText7中Pdfcanvas和Canvas之间的区别以及何时使用它们中的每一个..?
生成的pdf:
画布示例
生成的pdf:
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
在11个月前关闭。
我想知道iText7中Pdfcanvas和Canvas之间的区别以及何时使用它们中的每一个..?
最佳答案
简而言之,PdfCanvas
设计用于低级操作,而Canvas
-用于高级操作。
您想将矩形/路径/文本以及任何其他运算符写入pdf的内容流吗?使用PdfCanvas
实例。
您要向Paragraph
添加高级iText对象(Table
s,List
s,PdfCanvas
s ...)吗?使用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:
画布示例
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:
10-08 05:21