itext以java编写,cann';t使用PdfContentByte cb=writer.getDirectContent();

itext以java编写,cann';t使用PdfContentByte cb=writer.getDirectContent();,java,itext,Java,Itext,我试图将条形码打印到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.Bas

我试图将条形码打印到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;
> 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;
我的代码从结果集中,我将以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 i导入了以下内容

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;
> 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();

谢谢你,伙计,我找到了一个方法…:D:D i导入了以下内容

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;
> 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();