我正在寻找一个可以拍摄图像(PNG)并创建PDF的Java库。 或者直接从已绘制的java面板创建PDF。
答案 0 :(得分:1)
您可以使用Gnostice PDFOne for Java(http://www.gnostice.com/PDFOne_Java.asp)来实现此目的。
在下面找到从PNG图像创建PDF文档的代码段。
PdfDocument doc = new PdfDocument();
// Read the image as BufferedImage object
BufferedImage bufImg = ImageIO.read(new File(
"SampleImage.PNG"));
// Create PdfImage object using the above BufferedImage object
PdfImage img = PdfImage.create(bufImg);
// Create a PdfPage of image size (image width x image Height)
PdfPage page1 = new PdfPage(img.width(), img.height());
// draw the image at 0, 0
page1.drawImage(img, 0, 0);
// add the page to the document object
doc.add(page1);
// save the document to the output file
doc.save("PNGImageToPDF.pdf");
doc.close();
要从JPanel创建BufferedImage,您可以使用以下代码段。
int w = jpanel.getWidth();
int h = jpanel.getHeight();
BufferedImage bi = new BufferedImage(w, h,
BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
jpanel.paint(g2);
g2.dispose();
从JPanel创建BuffereImage后,您可以使用第一个代码段创建PDF。
我希望你会发现这很有用。
免责声明:我为Gnostice工作。
答案 1 :(得分:1)
尝试xsPDF:
BufferedImage image = ImageIO.read(new File(imageFileName));
int width = image.getWidth(), height = image.getHeight();
XSPDF.getInstance()
.setPageSize(width, height)
.setPageMargin(NO_MARGIN)
.setImage(image, 0, 0, width, height, 0)
.createPdf(pdfFileName);