java - java中的itext,不能使用PdfContentByte cb = writer.getDirectContent();

标签 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.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/

相关文章:

c# - 将 iTextSharp.text.Image 转换回 System.Drawing.Image

java - 如何使用 iText 在 JSP 中显示有限页数的 PDF 文件?

java - iText - 读取复选框值

java - 我应该为 java 使用什么音频格式?

java - 如何将一个类的 main 方法中定义的变量转移到另一个类的 main 方法中?

java - MS-SQL 快照隔离和 Hibernate 行为

java - 使用JAVA中的geotools在定义的距离(km)内从一条线(GPS坐标)生成多边形

c# - iTextSharp。为什么单元格背景图像顺时针旋转90度?

pdf-generation - IText 2 + Flying Saucer : how to avoid that the images appears broken between two pdf's pages?

java - 在 Android 中设置日历字段