通过itext生成的条形码未被扫描

时间:2017-03-28 07:32:52

标签: java pdf itext

我使用itext5成功生成了条形码。但我现在遇到的问题是,每当我尝试通过xlab scaner型号YT-760扫描生成的条形码时,它都无法读取它。

BarcodeInTable

  import com.itextpdf.text.Document;
  import com.itextpdf.text.DocumentException;
  import com.itextpdf.text.Image;
  import com.itextpdf.text.Phrase;
  import com.itextpdf.text.pdf.Barcode128;
  import com.itextpdf.text.pdf.PdfContentByte;
  import com.itextpdf.text.pdf.PdfPCell;
  import com.itextpdf.text.pdf.PdfPTable;
  import com.itextpdf.text.pdf.PdfWriter;
  import java.io.File;
  import java.io.FileOutputStream;
  import java.io.IOException;

   public class BarcodeInTable {
public static final String DEST = "D:/barcode_in_table.pdf";

    public static void main(String[] args) throws IOException, DocumentException {
    File file = new File(DEST);
    file.getParentFile().mkdirs();
    new BarcodeInTable().createPdf(DEST);
}
public void createPdf(String dest) throws IOException, DocumentException {
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();

    String code = "675-FH-A12";

    PdfContentByte cb = writer.getDirectContent();
    PdfPTable table = new PdfPTable(1);


    Barcode128 barcode128 = new Barcode128();
    barcode128.setFont(null);
    barcode128.setCode(code);
    barcode128.setCodeType(Barcode128.CODE128);
    Image barcode128Image = barcode128.createImageWithBarcode(cb,null,null);
    PdfPCell cell = new PdfPCell();
    cell.addElement(new Phrase("PO"+code));
    cell.addElement(barcode128Image);
    table.addCell(cell);


    document.add(table);

    document.close();
    }

   }

我是否必须编写代码来制作打印条形码以使其可读?或者只是打印生成的条形码可以扫描?

p.s我正在使用sato SA408打印机打印条形码来打印条形码。甚至在普通纸上打印并试图扫描不起作用。

0 个答案:

没有答案