Я генерирую Barcode128 с библиотекой iText-2.1.3. Это код, который я использую:
private void createBarcode(String kodDokumentu, String idSadowka, String projekt) throws IOException, DocumentException
{
File barcodePdf = new File(pathToPdf);
Files.deleteIfExists(barcodePdf.toPath());
Document document = new Document();
Rectangle size = new Rectangle(151,60);
document.setMargins(5, 1, -6, 0);
document.setPageSize(size);
FileOutputStream fos = new FileOutputStream(pathToPdf);
PdfWriter writer = PdfWriter.getInstance(document, fos);
document.open();
PdfContentByte cb = writer.getDirectContent();
Barcode barcode128 = new Barcode128();
barcode128.setBarHeight(40);
barcode128.setX(1.04f);
barcode128.setCode("VL#"+kodDokumentu.toUpperCase());
barcode128.setCodeType(Barcode.CODE128);
Image code128Image = barcode128.createImageWithBarcode(cb, null, null);
Font code = new Font(FontFamily.TIMES_ROMAN, 8, Font.NORMAL, BaseColor.BLACK);
Paragraph p = new Paragraph("ID: "+idSadowka+", Projekt: "+projekt.substring(0, 2), code);
document.add(p);
document.add(code128Image);
document.close();
fos.close();
}
Я хочу достичь как можно меньшего h
(взгляните на изображение), лучше всего, если h=0.01
, потому что я хочу сэкономить больше места для ID: xxxxx, Projekt: xx
, чтобы сделать его больше и легче для чтения человеком ,
Сначала (нижний штрих-код) я использовал размер шрифта 8, затем (верхний штрих-код) я попытался изменить размер шрифта на 10, но когда я это сделал, h
больше, чем предыдущий. Я знаю, что размер шрифта связан с разрывом между штрих-кодом и текстом над ним, но возможно ли использовать больший размер шрифта и установить этот разрыв действительно маленьким?
