Java Tutorial/PDF/Circle
Draw a circle with PdfContentByte
<source lang="java">
import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Document; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.GrayColor; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfWriter; public class MainClass {
public static void main(String[] args) throws Exception { Document.rupress = false; Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); cb.setColorStroke(new GrayColor(0.2f)); cb.setColorFill(new GrayColor(0.9f)); cb.circle(70, 770, 40); cb.fillStroke();
document.close(); }
}</source>
Draw more circles
<source lang="java">
import java.awt.Color; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Element; import com.lowagie.text.Phrase; import com.lowagie.text.pdf.ColumnText; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfGState; import com.lowagie.text.pdf.PdfTemplate; import com.lowagie.text.pdf.PdfTransparencyGroup; import com.lowagie.text.pdf.PdfWriter; public class MainClass {
public static void main(String[] args) throws Exception { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream("2.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); float gap = (document.getPageSize().width() - 400) / 3; pictureCircles(gap, 500, cb); cb.saveState(); PdfGState gs1 = new PdfGState(); gs1.setFillOpacity(0.5f); cb.setGState(gs1); cb.resetRGBColorFill(); ColumnText ct = new ColumnText(cb); Phrase ph = new Phrase("Ungrouped objects\nObject opacity = 1.0"); ct.setSimpleColumn(ph, gap, 0, gap + 200, 500, 18, Element.ALIGN_CENTER); ct.go(); document.close(); }
public static void pictureCircles(float x, float y, PdfContentByte cb) { cb.setColorFill(Color.red); cb.circle(x + 70, y + 70, 50); cb.fill(); cb.setColorFill(Color.yellow); cb.circle(x + 100, y + 130, 50); cb.fill(); cb.setColorFill(Color.blue); cb.circle(x + 130, y + 70, 50); cb.fill(); }
}</source>