/Users/johnr/Desktop/IA_14_-_Stage_P_Upload_all_2021-04-08/CSIA14829 - Jane April 6th/src/csia14829/BarcodeGenerator.java |
1
2
3
4
5
6 package csia14829;
7
8 import java.io.FileOutputStream;
9 import com.itextpdf.text.Document;
10 import com.itextpdf.text.DocumentException;
11 import com.itextpdf.text.Image;
12 import com.itextpdf.text.PageSize;
13 import com.itextpdf.text.pdf.Barcode128;
14 import com.itextpdf.text.pdf.PdfContentByte;
15 import com.itextpdf.text.pdf.PdfWriter;
16
17
18
19
20 @author
21
22 public class BarcodeGenerator {
23
24
25 @param code128Image
26 @param numberOfBarcodes
27 @param doc
28 @throws
29
30
31
32 public static void createColumnsOfBarcodes(Image code128Image, int numberOfColBarcodes, Document doc, int row)
33 throws DocumentException{
34
35
36 for(int i = 0; i < numberOfColBarcodes; i++){
37 code128Image.setAbsolutePosition(30+row*170, 700-i*100);
38 code128Image.scalePercent(125);
39 doc.add(code128Image);
40 }
41 }
42 public static void createMultipleBarcodes(Image code128Image, int numberOfBarcodes, Document doc)
43 throws DocumentException{
44
45
46
47 if(numberOfBarcodes <= 7){
48 createColumnsOfBarcodes(code128Image, numberOfBarcodes, doc, 0);
49
50
51 }else if((numberOfBarcodes > 7) && (numberOfBarcodes <= 14)){
52 int numberOnSecondColumn = numberOfBarcodes - 7;
53 createColumnsOfBarcodes(code128Image, 7, doc, 0);
54 createColumnsOfBarcodes(code128Image, numberOnSecondColumn, doc, 1);
55
56 }else{
57 int numberOnThirdColumn = numberOfBarcodes - 14;
58 createColumnsOfBarcodes(code128Image, 7, doc, 0);
59 createColumnsOfBarcodes(code128Image, 7, doc, 1);
60 createColumnsOfBarcodes(code128Image, numberOnThirdColumn, doc, 2);
61 }
62 }
63
64
65
66 public static void createPDF(String pdfFilename, String myString, int numberOfBarcodes) {
67 Document doc = new Document();
68 PdfWriter docWriter = null;
69 try {
70 docWriter = PdfWriter.getInstance(doc, new FileOutputStream(pdfFilename));
71 doc.addAuthor("LostAndFoundTeam");
72 doc.addCreationDate();
73 doc.addProducer();
74 doc.addTitle("Barcodes");
75 doc.setPageSize(PageSize.LETTER);
76 doc.open();
77 PdfContentByte cb = docWriter.getDirectContent();
78
79
80 Barcode128 code128 = new Barcode128();
81
82 code128.setCode(myString.trim());
83 code128.setCodeType(Barcode128.CODE128);
84 Image code128Image = code128.createImageWithBarcode(cb, null, null);
85
86
87 createMultipleBarcodes(code128Image, numberOfBarcodes, doc);
88
89
90 } catch (DocumentException dex) {
91 dex.printStackTrace();
92 } catch (Exception ex) {
93 ex.printStackTrace();
94 } finally {
95 if (doc != null) {
96 doc.close();
97 }
98 if (docWriter != null) {
99 docWriter.close();
100 }
101 }
102 }
103
104 }
105