我有这段代码让我以某种方式在图像中显示乳胶配方并显示为pdf。第一件事是我打开pdf文件109时出错。并且第一页的公式不是显示在所有。 接下来的还可以。 有任何想法吗?感谢
document.open();
Paragraph preface = new Paragraph();
// We add one empty line
addEmptyLine(preface, 1);
// Lets write a big header
preface.add(new Paragraph("Test Generat", catFont));
addEmptyLine(preface, 1);
document.add(preface);
// Start a new page
// document.newPage();
for (int i = 0; i < intrebari.size(); i++) {
TeXFormula formula = new TeXFormula("x=\\frac{-b \\pm \\sqrt {b^2-4ac}}{2a}");
TeXIcon icon = formula
.createTeXIcon(TeXConstants.STYLE_DISPLAY, 20);
// insert a border
icon.setInsets(new Insets(5, 5, 5, 5));
// now create an actual image of the rendered equation
BufferedImage image = new BufferedImage(icon.getIconWidth(),
icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = image.createGraphics();
g2.setColor(Color.white);
g2.fillRect(0, 0, icon.getIconWidth(), icon.getIconHeight());
JLabel jl = new JLabel();
jl.setForeground(new Color(0, 0, 0));
icon.paintIcon(jl, g2, 0, 0);
document.setPageSize(PageSize.A4);
PdfContentByte pdfCB = new PdfContentByte(writer);
try {
Image image1 = Image.getInstance(pdfCB, image, 1);
document.newPage();
Phrase p = new Phrase("quick brown fox jumps over the lazy dog.");
p.add(new Chunk(image1, 0, 0, true));
p.add(" ");
p.add(new Chunk(image1, 0, 0, true));
ColumnText ct = new ColumnText(writer.getDirectContent());
ct.setSimpleColumn(new Rectangle(20, document.getPageSize().getWidth(), 400, 800));
ct.addText(p);
ct.go();
document.newPage();
} catch (BadElementException | IOException ex) {
Logger.getLogger(Utils.class.getName()).log(Level.SEVERE, null, ex);
}
}
document.newPage();
}