Java Code Examples for com.lowagie.text.pdf.PdfContentByte#setColorFill()
The following examples show how to use
com.lowagie.text.pdf.PdfContentByte#setColorFill() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: PageNumbersWatermarkTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * @see com.lowagie.text.pdf.PdfPageEventHelper#onStartPage(com.lowagie.text.pdf.PdfWriter, com.lowagie.text.Document) */ public void onStartPage(PdfWriter writer, Document document) { if (writer.getPageNumber() < 3) { PdfContentByte cb = writer.getDirectContentUnder(); cb.saveState(); cb.setColorFill(Color.pink); cb.beginText(); cb.setFontAndSize(helv, 48); cb.showTextAligned(Element.ALIGN_CENTER, "My Watermark Under " + writer.getPageNumber(), document.getPageSize().getWidth() / 2, document.getPageSize().getHeight() / 2, 45); cb.endText(); cb.restoreState(); } }
Example 2
Source File: GroupsTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Prints a square and fills half of it with a gray rectangle. * @param x * @param y * @param cb * @throws Exception */ public static void pictureBackdrop(float x, float y, PdfContentByte cb) throws Exception { cb.setColorStroke(Color.black); cb.setColorFill(Color.red); cb.rectangle(x, y, 100, 200); cb.fill(); cb.setLineWidth(2); cb.rectangle(x, y, 200, 200); cb.stroke(); }
Example 3
Source File: GroupsTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Prints 3 circles in different colors that intersect with eachother. * @param x * @param y * @param cb * @throws Exception */ public static void pictureCircles(float x, float y, PdfContentByte cb) throws Exception { PdfGState gs = new PdfGState(); gs.setBlendMode(PdfGState.BM_SOFTLIGHT); gs.setFillOpacity(0.7f); cb.setGState(gs); cb.setColorFill(Color.gray); cb.circle(x + 70, y + 70, 50); cb.fill(); cb.circle(x + 100, y + 130, 50); cb.fill(); cb.circle(x + 130, y + 70, 50); cb.fill(); }
Example 4
Source File: TransparencyTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Prints a square and fills half of it with a gray rectangle. * * @param x * @param y * @param cb * @throws Exception */ private static void pictureBackdrop(float x, float y, PdfContentByte cb) throws Exception { cb.setColorStroke(Color.black); cb.setColorFill(Color.gray); cb.rectangle(x, y, 100, 200); cb.fill(); cb.setLineWidth(2); cb.rectangle(x, y, 200, 200); cb.stroke(); }
Example 5
Source File: TransparencyTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Prints 3 circles in different colors that intersect with eachother. * * @param x * @param y * @param cb * @throws Exception */ private static void pictureCircles(float x, float y, PdfContentByte cb) throws Exception { 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(); }
Example 6
Source File: PdfWatermarkUtils.java From bamboobsc with Apache License 2.0 | 5 votes |
public static void addWatermark(PdfStamper pdfStamper, BaseFont baseFont, Color fontColor, String waterMarkString) throws Exception { if (null == pdfStamper || null == baseFont) { throw new java.lang.Exception("PdfStamper or BaseFont is null."); } if (StringUtils.isBlank(waterMarkString)) { return; } PdfContentByte pdfContentByte = null; Rectangle pageRect = null; PdfGState pdfGState = new PdfGState(); // 设置透明度为0.4 pdfGState.setFillOpacity(0.4f); pdfGState.setStrokeOpacity(0.4f); int pageNum = pdfStamper.getReader().getNumberOfPages(); try { for (int i = 1; i <= pageNum; i++) { pageRect = pdfStamper.getReader().getPageSizeWithRotation(i); // 计算水印X,Y坐标 float x = pageRect.getWidth() / 2; float y = pageRect.getHeight() / 2; //获得PDF最顶层 pdfContentByte = pdfStamper.getOverContent(i); pdfContentByte.saveState(); // set Transparency pdfContentByte.setGState(pdfGState); pdfContentByte.beginText(); pdfContentByte.setColorFill(fontColor); pdfContentByte.setFontAndSize(baseFont, 60); // 水印文字成45度角倾斜 pdfContentByte.showTextAligned(Element.ALIGN_CENTER, waterMarkString, x, y, 45); pdfContentByte.endText(); } } catch (Exception e) { e.printStackTrace(); } finally { pdfContentByte = null; pageRect = null; } }
Example 7
Source File: Coversheet.java From kfs with GNU Affero General Public License v3.0 | 5 votes |
protected void upperLeftAlignmentMark(final PdfContentByte cb) { cb.saveState(); cb.rectangle(ALIGNMENT_MARGIN, (LETTER.height() + TOP_MARGIN) - ALIGNMENT_MARK_HEIGHT - ALIGNMENT_MARGIN, ALIGNMENT_MARK_WIDTH, ALIGNMENT_MARK_HEIGHT); cb.setColorFill(BLACK); cb.fill(); cb.restoreState(); }
Example 8
Source File: Coversheet.java From kfs with GNU Affero General Public License v3.0 | 5 votes |
protected void lowerLeftAlignmentMark(final PdfContentByte cb) { cb.saveState(); cb.rectangle(ALIGNMENT_MARGIN, ALIGNMENT_MARGIN, ALIGNMENT_MARK_WIDTH, ALIGNMENT_MARK_HEIGHT); cb.setColorFill(BLACK); cb.fill(); cb.restoreState(); }
Example 9
Source File: Coversheet.java From kfs with GNU Affero General Public License v3.0 | 5 votes |
protected void lowerRightAlignmentMark(final PdfContentByte cb) { cb.saveState(); cb.rectangle(LETTER.width() - (ALIGNMENT_MARGIN * 4) - ALIGNMENT_MARK_WIDTH, ALIGNMENT_MARGIN, ALIGNMENT_MARK_WIDTH, ALIGNMENT_MARK_HEIGHT); cb.setColorFill(BLACK); cb.fill(); cb.restoreState(); }
Example 10
Source File: Coversheet.java From kfs with GNU Affero General Public License v3.0 | 5 votes |
protected void upperRightAlignmentMark(final PdfContentByte cb) { cb.saveState(); cb.rectangle(LETTER.width() - (ALIGNMENT_MARGIN * 4) - ALIGNMENT_MARK_WIDTH, (LETTER.height() + TOP_MARGIN) - ALIGNMENT_MARGIN - ALIGNMENT_MARK_HEIGHT, ALIGNMENT_MARK_WIDTH, ALIGNMENT_MARK_HEIGHT); cb.setColorFill(BLACK); cb.fill(); cb.restoreState(); }
Example 11
Source File: StateTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Changing the Graphics State with saveState() and restoreState(). * */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream( "state.pdf")); // step 3: we open the document document.open(); // step 4: we grab the ContentByte and do some stuff with it PdfContentByte cb = writer.getDirectContent(); cb.circle(260.0f, 500.0f, 250.0f); cb.fill(); cb.saveState(); cb.setColorFill(Color.red); cb.circle(260.0f, 500.0f, 200.0f); cb.fill(); cb.saveState(); cb.setColorFill(Color.blue); cb.circle(260.0f, 500.0f, 150.0f); cb.fill(); cb.restoreState(); cb.circle(260.0f, 500.0f, 100.0f); cb.fill(); cb.restoreState(); cb.circle(260.0f, 500.0f, 50.0f); cb.fill(); cb.sanityCheck(); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); }
Example 12
Source File: GStateTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Changing the Graphics State with PdfGState. * */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream( "gstate.pdf")); // step 3: we open the document document.open(); // step 4: we grab the ContentByte and do some stuff with it PdfContentByte cb = writer.getDirectContent(); PdfGState gs = new PdfGState(); gs.setFillOpacity(0.5f); cb.setGState(gs); cb.setColorFill(Color.red); cb.circle(260.0f, 500.0f, 250.0f); cb.fill(); cb.circle(260.0f, 500.0f, 200.0f); cb.fill(); cb.circle(260.0f, 500.0f, 150.0f); cb.fill(); gs.setFillOpacity(0.2f); cb.setGState(gs); cb.setColorFill(Color.blue); cb.circle(260.0f, 500.0f, 100.0f); cb.fill(); cb.circle(260.0f, 500.0f, 50.0f); cb.fill(); cb.sanityCheck(); } catch (DocumentException de) { System.err.println(de.getMessage()); } catch (IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); }
Example 13
Source File: PageNumbersWatermarkTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * @see com.lowagie.text.pdf.PdfPageEventHelper#onEndPage(com.lowagie.text.pdf.PdfWriter, com.lowagie.text.Document) */ public void onEndPage(PdfWriter writer, Document document) { PdfContentByte cb = writer.getDirectContent(); cb.saveState(); // write the headertable table.setTotalWidth(document.right() - document.left()); table.writeSelectedRows(0, -1, document.left(), document.getPageSize().getHeight() - 50, cb); // compose the footer String text = "Page " + writer.getPageNumber() + " of "; float textSize = helv.getWidthPoint(text, 12); float textBase = document.bottom() - 20; cb.beginText(); cb.setFontAndSize(helv, 12); // for odd pagenumbers, show the footer at the left if ((writer.getPageNumber() & 1) == 1) { cb.setTextMatrix(document.left(), textBase); cb.showText(text); cb.endText(); cb.addTemplate(tpl, document.left() + textSize, textBase); } // for even numbers, show the footer at the right else { float adjust = helv.getWidthPoint("0", 12); cb.setTextMatrix(document.right() - textSize - adjust, textBase); cb.showText(text); cb.endText(); cb.addTemplate(tpl, document.right() - adjust, textBase); } // draw a Rectangle around the page cb.setColorStroke(Color.orange); cb.setLineWidth(2); cb.rectangle(20, 20, document.getPageSize().getWidth() - 40, document.getPageSize().getHeight() - 40); cb.stroke(); // starting on page 3, a watermark with an Image that is made transparent if (writer.getPageNumber() >= 3) { cb.setGState(gstate); cb.setColorFill(Color.red); cb.beginText(); cb.setFontAndSize(helv, 48); cb.showTextAligned(Element.ALIGN_CENTER, "Watermark Opacity " + writer.getPageNumber(), document.getPageSize().getWidth() / 2, document.getPageSize().getHeight() / 2, 45); cb.endText(); try { cb.addImage(headerImage, headerImage.getWidth(), 0, 0, headerImage.getHeight(), 440, 80); } catch(Exception e) { throw new ExceptionConverter(e); } } cb.restoreState(); cb.sanityCheck(); }
Example 14
Source File: SpotColorsTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Demonstrates the use of spotcolors. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("spotcolor.pdf")); BaseFont bf = BaseFont.createFont("Helvetica", "winansi", BaseFont.NOT_EMBEDDED); // step 3: we open the document document.open(); // step 4: we grab the ContentByte and do some stuff with it PdfContentByte cb = writer.getDirectContent(); // step 5: we instantiate PdfSpotColor // Note: I made up these names unless someone give me a PANTONE swatch as gift ([email protected]) PdfSpotColor spc_cmyk = new PdfSpotColor("PANTONE 280 CV", new CMYKColor(0.9f, .2f, .3f, .1f)); PdfSpotColor spc_rgb = new PdfSpotColor("PANTONE 147", new Color(114, 94, 38)); PdfSpotColor spc_g = new PdfSpotColor("PANTONE 100 CV", new GrayColor(0.9f)); // Stroke a rectangle with CMYK alternate cb.setColorStroke(spc_cmyk, .5f); cb.setLineWidth(10f); // draw a rectangle cb.rectangle(100, 700, 100, 100); // add the diagonal cb.moveTo(100, 700); cb.lineTo(200, 800); // stroke the lines cb.stroke(); // Fill a rectangle with CMYK alternate cb.setColorFill(spc_cmyk, 0.25f); cb.rectangle(250, 700, 100, 100); cb.fill(); // Stroke a circle with RGB alternate cb.setColorStroke(spc_rgb, 0.9f); cb.setLineWidth(5f); cb.circle(150f, 500f, 100f); cb.stroke(); // Fill the circle with RGB alternate cb.setColorFill(spc_rgb, 0.9f); cb.circle(150f, 500f, 50f); cb.fill(); // example with colorfill cb.setColorFill(spc_g, 0.5f); cb.moveTo(100f, 200f); cb.lineTo(200f, 250f); cb.lineTo(400f, 150f); cb.fill(); // cb.sanityCheck is called during newPage(). document.newPage(); String text = "Some text to show"; document.add(new Paragraph(text, new Font(Font.HELVETICA, 24, Font.NORMAL, new SpotColor(spc_cmyk, 0.25f)))); document.add(new Paragraph(text, new Font(Font.HELVETICA, 24, Font.NORMAL, new SpotColor(spc_cmyk, 0.5f)))); // example with template PdfTemplate t = cb.createTemplate(500f, 500f); // Stroke a rectangle with CMYK alternate t.setColorStroke(new SpotColor(spc_cmyk, .5f)); t.setLineWidth(10f); // draw a rectangle t.rectangle(100, 10, 100, 100); // add the diagonal t.moveTo(100, 10); t.lineTo(200, 100); // stroke the lines t.stroke(); // Fill a rectangle with CMYK alternate t.setColorFill(spc_g, 0.5f); t.rectangle(100, 125, 100, 100); t.fill(); t.beginText(); t.setFontAndSize(bf, 20f); t.setTextMatrix(1f, 0f, 0f, 1f, 10f, 10f); t.showText("Template text upside down"); t.endText(); t.rectangle(0, 0, 499, 499); t.stroke(); t.sanityCheck(); cb.addTemplate(t, -1.0f, 0.00f, 0.00f, -1.0f, 550f, 550f); cb.sanityCheck(); // step 5: we close the document document.close(); }
Example 15
Source File: AnnotationsTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Creates a document with some PdfAnnotations. * */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); // step 2: PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("Annotations.pdf")); // step 3: writer.setPdfVersion(PdfWriter.VERSION_1_5); document.open(); // step 4: PdfContentByte cb = writer.getDirectContent(); // page 1 PdfFileSpecification fs = PdfFileSpecification.fileExtern(writer, PdfTestBase.RESOURCES_DIR + "cards.mpg"); writer.addAnnotation(PdfAnnotation.createScreen(writer, new Rectangle(200f, 700f, 300f, 800f), "cards.mpg", fs, "video/mpeg", true)); PdfAnnotation a = new PdfAnnotation(writer, 200f, 550f, 300f, 650f, PdfAction.javaScript( "app.alert('Hello');\r", writer)); document.add(new Chunk("click to trigger javascript").setAnnotation(a).setLocalDestination("top")); writer.addAnnotation(a); writer.addAnnotation(PdfAnnotation.createFileAttachment(writer, new Rectangle(100f, 650f, 150f, 700f), "This is some text", "some text".getBytes(), null, "some.txt")); writer.addAnnotation(PdfAnnotation.createText(writer, new Rectangle(200f, 400f, 300f, 500f), "Help", "This Help annotation was made with 'createText'", false, "Help")); writer.addAnnotation(PdfAnnotation.createText(writer, new Rectangle(200f, 250f, 300f, 350f), "Help", "This Comment annotation was made with 'createText'", true, "Comment")); cb.rectangle(200, 700, 100, 100); cb.rectangle(200, 550, 100, 100); cb.rectangle(200, 400, 100, 100); cb.rectangle(200, 250, 100, 100); cb.stroke(); document.newPage(); // page 2 writer.addAnnotation(PdfAnnotation.createLink(writer, new Rectangle(200f, 700f, 300f, 800f), PdfAnnotation.HIGHLIGHT_TOGGLE, PdfAction.javaScript("app.alert('Hello');\r", writer))); writer.addAnnotation(PdfAnnotation.createLink(writer, new Rectangle(200f, 550f, 300f, 650f), PdfAnnotation.HIGHLIGHT_OUTLINE, "top")); writer.addAnnotation(PdfAnnotation.createLink(writer, new Rectangle(200f, 400f, 300f, 500f), PdfAnnotation.HIGHLIGHT_PUSH, 1, new PdfDestination(PdfDestination.FIT))); writer.addAnnotation(PdfAnnotation.createSquareCircle(writer, new Rectangle(200f, 250f, 300f, 350f), "This Comment annotation was made with 'createSquareCircle'", false)); document.newPage(); // page 3 PdfContentByte pcb = new PdfContentByte(writer); pcb.setColorFill(new Color(0xFF, 0x00, 0x00)); writer.addAnnotation(PdfAnnotation.createFreeText(writer, new Rectangle(200f, 700f, 300f, 800f), "This is some free text, blah blah blah", pcb)); writer.addAnnotation(PdfAnnotation.createLine(writer, new Rectangle(200f, 550f, 300f, 650f), "this is a line", 200, 550, 300, 650)); writer.addAnnotation(PdfAnnotation.createStamp(writer, new Rectangle(200f, 400f, 300f, 500f), "This is a stamp", "Stamp")); writer.addAnnotation(PdfAnnotation.createPopup(writer, new Rectangle(200f, 250f, 300f, 350f), "Hello, I'm a popup!", true)); cb.rectangle(200, 700, 100, 100); cb.rectangle(200, 550, 100, 100); cb.rectangle(200, 250, 100, 100); cb.stroke(); // step 5: we close the document document.close(); }