我正在尝试将条形码打印到 pdf 中,但是当我输入 writer..getDirectContent();它显示一个错误。
我导入了以下内容
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.pdf.BarcodeEAN;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.Rectangle;
我的代码来自结果集,我要打印 pdf 中的条形码
try{
String sel_peince=jTextField33.getText();
String des=jTextField29.getText();
if((sel_peince.compareTo("")!=0) && (des.compareTo("")!=0)){
String sql="Select * from printing_press_inventory where unit_selling_price='"+sel_peince+"' and description ='"+des+"'";
pst=con.prepareStatement(sql);
rs = pst.executeQuery(sql);
rs.next();
String oitm=""+rs.getInt("item_id");
String Oqt=""+rs.getInt("quantity");
String description=rs.getString("description");
Document doc=new Document();
PdfWriter.getInstance(doc, new FileOutputStream("Barcode.pdf"));
doc.open();
doc.add(new Paragraph(new Chunk("Barcode for "+description+"")));
PdfContentByte cb = writer.getDirectContent();
BarcodeEAN codeEAN=new BarcodeEAN();
codeEAN.setCode(oitm);
Paragraph p=new Paragraph();
codeEAN.setCodeType(BarcodeEAN.UPCA);
doc.add(codeEAN.createImageWithBarcode(null, BaseColor.BLACK, BaseColor.BLACK));
doc.add(p);
doc.close();
}
else{
JOptionPane.showMessageDialog(null, "eerrrrr");
}
}
catch(Exception e){
System.out.println(e);
}
谢谢!:D
最佳答案
谢谢你,我找到了方法...:D :D 我导入了以下内容
> import com.itextpdf.text.BaseColor; import com.itextpdf.text.Chunk;
> import com.itextpdf.text.Document; import com.itextpdf.text.Image;
> import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph;
> import com.itextpdf.text.Phrase; import com.itextpdf.text.pdf.Barcode;
> import com.itextpdf.text.pdf.BarcodeEAN; import
> com.itextpdf.text.pdf.PdfContentByte; import
> com.itextpdf.text.pdf.PdfWriter;
和代码是
>
> Document document = new Document(PageSize.A4, 50, 50, 50, 50);
> try {
> PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("BarcodesEAN13.pdf"));
> document.open();
> PdfContentByte cb = writer.getDirectContent();
>
> BarcodeEAN codeEAN = new BarcodeEAN();
> codeEAN.setCodeType(Barcode.EAN13);
> codeEAN.setCode("1234567812345");
> Image imageEAN = codeEAN.createImageWithBarcode(cb, null, null);
>
> document.add(new Phrase(new Chunk(imageEAN, 0, 0)));
> }
> catch (Exception de) {
> de.printStackTrace();
> }
> document.close();
关于java - java中的itext,不能使用PdfContentByte cb = writer.getDirectContent();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32669923/