/** * This method creat Mark whit proporshin * * @param content - where we write * @param x - lower left x * @param y - lower left y * @param size - size of mark */ public static void markCircle(PdfContentByte content, int x, int y, int size) { // Proportion 1:1:3:1:1 int sizeStep = size / 7; int center = size / 2; if (sizeStep < 1) { try { throw new IllegalArgumentException("Marker must be aliquot 7"); } catch (Exception e) { e.printStackTrace(); } } else { content.circle(x, y, center); content.fill(); // content.setRGBColorFill(0x00, 0x00, 0x00); content.setRGBColorStroke(0xFF, 0xFF, 0xFF); content.setLineWidth(sizeStep); content.circle(x, y, (float) (center - (sizeStep * 1.5))); // content.setRGBColorFill(0xFF, 0xFF, 0xFF); // content.setLineWidth(10f); // content.circle(350.0f, 300.0f, 50.0f); content.fillStroke(); } }
/** * Writing vertical text. * * @param args no arguments needed */ public static void main(String[] args) { Document document = new Document(PageSize.A4, 50, 50, 50, 50); try { texts[3] = convertCid(texts[0]); texts[4] = convertCid(texts[1]); texts[5] = convertCid(texts[2]); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("vertical.pdf")); int idx = 0; document.open(); PdfContentByte cb = writer.getDirectContent(); for (int j = 0; j < 2; ++j) { BaseFont bf = BaseFont.createFont("KozMinPro-Regular", encs[j], false); cb.setRGBColorStroke(255, 0, 0); cb.setLineWidth(0); float x = 400; float y = 700; float height = 400; float leading = 30; int maxLines = 6; for (int k = 0; k < maxLines; ++k) { cb.moveTo(x - k * leading, y); cb.lineTo(x - k * leading, y - height); } cb.rectangle(x, y, -leading * (maxLines - 1), -height); cb.stroke(); int status; VerticalText vt = new VerticalText(cb); vt.setVerticalLayout(x, y, height, maxLines, leading); vt.addText(new Chunk(texts[idx++], new Font(bf, 20))); vt.addText(new Chunk(texts[idx++], new Font(bf, 20, 0, Color.blue))); status = vt.go(); System.out.println(status); vt.setAlignment(Element.ALIGN_RIGHT); vt.addText(new Chunk(texts[idx++], new Font(bf, 20, 0, Color.orange))); status = vt.go(); System.out.println(status); document.newPage(); } document.close(); } catch (Exception de) { de.printStackTrace(); } }