當前位置: 首頁>>代碼示例>>Java>>正文


Java PdfContentByte.fill方法代碼示例

本文整理匯總了Java中com.itextpdf.text.pdf.PdfContentByte.fill方法的典型用法代碼示例。如果您正苦於以下問題:Java PdfContentByte.fill方法的具體用法?Java PdfContentByte.fill怎麽用?Java PdfContentByte.fill使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.itextpdf.text.pdf.PdfContentByte的用法示例。


在下文中一共展示了PdfContentByte.fill方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: cellLayout

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@Override
    public void cellLayout(PdfPCell cell, Rectangle position, PdfContentByte[] canvases) {
        PdfContentByte canvas = canvases[PdfPTable.BACKGROUNDCANVAS];

        float xTransition = position.getLeft() + (position.getRight() - position.getLeft()) * (percent/100.0f);
        float yTransition = (position.getTop() + position.getBottom()) / 2f;
        float radius = (position.getRight() - position.getLeft()) * 0.025f;
        PdfShading axial = PdfShading.simpleAxial(canvas.getPdfWriter(),
                xTransition - radius, yTransition, xTransition + radius, yTransition, leftColor, rightColor);
        PdfShadingPattern shading = new PdfShadingPattern(axial);

        canvas.saveState();
        canvas.setShadingFill(shading);
        canvas.rectangle(position.getLeft(), position.getBottom(), position.getWidth(), position.getHeight());
//        canvas.clip();
        canvas.fill();
        canvas.restoreState();
    }
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:19,代碼來源:PercentileCellBackground.java

示例2: testHideContenUnderRectangle

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
/**
 * <a href="http://stackoverflow.com/questions/43870545/filling-a-pdf-with-itextsharp-and-then-hiding-the-base-layer">
 * Filling a PDF with iTextsharp and then hiding the base layer
 * </a>
 * <p>
 * This test shows how to cover all content using a white rectangle.
 * </p>
 */
@Test
public void testHideContenUnderRectangle() throws IOException, DocumentException
{
    try (   InputStream resource = getClass().getResourceAsStream("document.pdf");
            OutputStream result = new FileOutputStream(new File(RESULT_FOLDER, "document-hiddenContent.pdf")))
    {
        PdfReader pdfReader = new PdfReader(resource);
        PdfStamper pdfStamper = new PdfStamper(pdfReader, result);
        for (int page = 1; page <= pdfReader.getNumberOfPages(); page++)
        {
            Rectangle pageSize = pdfReader.getPageSize(page);
            PdfContentByte canvas = pdfStamper.getOverContent(page);
            canvas.setColorFill(BaseColor.WHITE);
            canvas.rectangle(pageSize.getLeft(), pageSize.getBottom(), pageSize.getWidth(), pageSize.getHeight());
            canvas.fill();
        }
        pdfStamper.close();
    }
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:28,代碼來源:HideContent.java

示例3: writeFillStroke

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
/**
 * Writes commands to stroke and / or fill the last geometry.
 */
private void writeFillStroke(VectorSymbol symbol, boolean close, PdfContentByte cb) {
    if (symbol == null) {
        return;
    }

    final boolean fill = symbol.isFilled();
    final boolean stroke = symbol.isStroked();

    if (fill && stroke) {
        cb.fillStroke();
    } else if (fill) {
        cb.fill();
    } else if (stroke) {
        cb.stroke();
    } else // nothing: invisible element
        ;
}
 
開發者ID:OSUCartography,項目名稱:ScreePainter,代碼行數:21,代碼來源:PDFExporter.java

示例4: createCircleAndText

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
public static void createCircleAndText(PdfContentByte cb, String text, float xCoord, float yCoord, float radius, Font textFont, int circleColorRed, int circleColorGreen, int circleColorBlue)
        throws DocumentException, IOException {
    cb.saveState();
    cb.setRGBColorFill(circleColorRed, circleColorGreen, circleColorBlue);
    cb.circle(xCoord, yCoord, radius);
    cb.fill();
    cb.stroke();
    cb.restoreState();

    PdfPTable table = new PdfPTable(1);
    float[] rows = { 595f };
    table.setTotalWidth(rows);
    table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
    table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
    table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE);
    table.getDefaultCell().setFixedHeight(radius * 2);
    table.addCell(new Phrase(new Chunk(text, textFont)));
    table.writeSelectedRows(0, 1, 0, yCoord + radius, cb);
}
 
開發者ID:Dica-Developer,項目名稱:weplantaforest,代碼行數:20,代碼來源:PdfHelper.java

示例5: cellLayout

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@Override
public void cellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas) {
    BaseColor color = colorProviders.apply(percent);
    if (color != null) {
        PdfContentByte cb = canvas[PdfPTable.BACKGROUNDCANVAS];
        cb.saveState();
        cb.setColorFill(color);
        cb.rectangle(
                rect.getLeft() + margin.marginLeft,
                rect.getBottom() + margin.marginBottom,
                rect.getWidth() * percent - (margin.marginLeft + margin.marginRight),
                rect.getHeight() - (margin.marginTop + margin.marginBottom));
        cb.fill();
        cb.restoreState();
    }
}
 
開發者ID:Arnauld,項目名稱:gutenberg,代碼行數:17,代碼來源:PercentBackgroundEvent.java

示例6: tableLayout

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
public void tableLayout(PdfPTable table, float[][] width, float[] height,
                        int headerRows, int rowStart, PdfContentByte[] canvas) {
    // because table is only one cell length, one can focus on using the first width
    float xmin = width[0][0];
    float xmax = width[0][1];
    float ymin = height[height.length - 1];
    float ymax = height[0];
    float d = 3;

    PdfContentByte background = canvas[PdfPTable.BASECANVAS];
    background.saveState();
    background.setColorFill(backgroundColor);
    background.roundRectangle(
            xmin - d,
            ymin - d,
            (xmax + d) - (xmin - d),
            (ymax + d) - (ymin - d),
            d + d);
    background.fill();
    background.restoreState();
}
 
開發者ID:Arnauld,項目名稱:gutenberg,代碼行數:22,代碼來源:PygmentsAdapter.java

示例7: onEndPage

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@Override
public void onEndPage(PdfWriter writer, Document document)
{
    if (active)
    {
        PdfContentByte cb = writer.getDirectContentUnder();
        cb.saveState();
        cb.setColorFill(color);
        cb.rectangle(document.left(), document.bottom() - offset,
            document.right() - document.left(), startPosition - document.bottom());
        cb.fill();
        cb.restoreState();
    }
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:15,代碼來源:ParagraphBackground.java

示例8: onParagraphEnd

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@Override
public void onParagraphEnd(PdfWriter writer, Document document, float paragraphPosition)
{
    if (active)
    {
        PdfContentByte cb = writer.getDirectContentUnder();
        cb.saveState();
        cb.setColorFill(color);
        cb.rectangle(document.left(), paragraphPosition - offset,
            document.right() - document.left(), startPosition - paragraphPosition);
        cb.fill();
        cb.restoreState();
    }
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:15,代碼來源:ParagraphBackground.java

示例9: testSimple

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@Test
public void testSimple() throws FileNotFoundException, DocumentException
{
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(new File(RESULT_FOLDER, "transparency.pdf")));
    writer.setCompressionLevel(0);
    document.open();
    PdfContentByte content = writer.getDirectContent();

    content.setRGBColorStroke(0, 255, 0);
    for (int y = 0; y <= 400; y+= 10)
    {
        content.moveTo(0, y);
        content.lineTo(500, y);
    }
    for (int x = 0; x <= 500; x+= 10)
    {
        content.moveTo(x, 0);
        content.lineTo(x, 400);
    }
    content.stroke();

    
    content.saveState();
    PdfGState state = new PdfGState();
    state.setFillOpacity(0.5f);
    content.setGState(state);
    content.setRGBColorFill(255, 0, 0);
    content.moveTo(162, 86);
    content.lineTo(162, 286);
    content.lineTo(362, 286);
    content.lineTo(362, 86);
    content.closePath();
    //content.fillStroke();
    content.fill();
    
    content.restoreState();

    document.close();
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:41,代碼來源:TestTransparency.java

示例10: enhance

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
void enhance(PdfContentByte page, Collection<Rectangle2D> rectangles, Point2D point, BaseColor color)
{
    Rectangle2D best = null;
    double bestDist = Double.MAX_VALUE;

    for (Rectangle2D rectangle : rectangles)
    {
        double distance = distance(rectangle, point);
        if (distance < bestDist)
        {
            best = rectangle;
            bestDist = distance;
        }
    }

    if (best != null)
    {
        page.setColorFill(color);
        page.rectangle((float) best.getMinX(), (float) best.getMinY(), (float) best.getWidth(), (float) best.getHeight());
        page.fill();
        System.out.printf("    Best rectangle for %7.3f, %7.3f is %7.3f, %7.3f, %7.3f, %7.3f\n", point.getX(), point.getY(), best.getMinX(),
                best.getMinY(), best.getWidth(), best.getHeight());
    }
    else
    {
        System.err.printf("!!! No best rectangle for %7.3f, %7.3f\n", point.getX(), point.getY());
    }
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:29,代碼來源:FindFreeSpace.java

示例11: createSimplePatternPdf

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
static byte[] createSimplePatternPdf() throws DocumentException, IOException
{
    ByteArrayOutputStream baos = new ByteArrayOutputStream();

    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, baos);
    document.open();

    PdfContentByte directContent = writer.getDirectContent();
    Rectangle pageSuze = document.getPageSize();
    
    PdfPatternPainter painter = directContent.createPattern(200, 150);
    painter.setColorStroke(BaseColor.GREEN);
    painter.beginText();
    painter.setTextRenderingMode(PdfPatternPainter.TEXT_RENDER_MODE_STROKE);
    painter.setTextMatrix(AffineTransform.getTranslateInstance(0, 50));
    painter.setFontAndSize(BaseFont.createFont(), 100);
    painter.showText("Test");
    painter.endText();

    directContent.setColorFill(new PatternColor(painter));
    directContent.rectangle(pageSuze.getLeft(), pageSuze.getBottom(), pageSuze.getWidth(), pageSuze.getHeight());
    directContent.fill();

    document.close();

    return baos.toByteArray();
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:29,代碼來源:SimpleRedactionTest.java

示例12: createHeaderBlock

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
public static void createHeaderBlock(PdfContentByte cb, int pageNumber, int pageSize) throws DocumentException, IOException {
    cb.saveState();
    cb.setColorFill(BaseColor.BLACK);
    cb.rectangle(0.0f, 822.0f, 595.0f, 20.0f);
    cb.fill();
    cb.stroke();
    cb.restoreState();

    Font textFont = new Font(FontFamily.HELVETICA, 7, Font.NORMAL, BaseColor.WHITE);

    PdfPTable table = new PdfPTable(4);
    float[] rows = { 100f, 100f, 100f, 295f };
    table.setTotalWidth(rows);
    table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
    table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
    table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE);
    table.getDefaultCell().setFixedHeight(20);
    table.addCell(new Phrase(new Chunk("WALD 1.1 gGmbH", textFont)));
    table.addCell(new Phrase(new Chunk("[ Spendenkonto 222 888 ]", textFont)));
    table.addCell(new Phrase(new Chunk("www.iplantatree.org", textFont)));
    
    PdfPCell pageCell = new PdfPCell(new Phrase(new Chunk("Seite " + pageNumber + " von " + pageSize, textFont)));
    pageCell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
    pageCell.setBorder(PdfPCell.NO_BORDER);
    table.addCell(pageCell);
    table.writeSelectedRows(0, 1, 0, 842, cb);
}
 
開發者ID:Dica-Developer,項目名稱:weplantaforest,代碼行數:28,代碼來源:PdfHelper.java

示例13: cellLayout

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
public void cellLayout(PdfPCell cell, Rectangle rect, PdfContentByte[] canvas) {
    BaseColor color = colorThresholdSelectors.colorFor(percent);
    if (color != null) {
        PdfContentByte cb = canvas[PdfPTable.BACKGROUNDCANVAS];
        cb.saveState();
        cb.setColorFill(color);
        cb.rectangle(rect.getLeft(), rect.getBottom(), rect.getWidth() * percent, rect.getHeight());
        cb.fill();
        cb.restoreState();
    }
}
 
開發者ID:Arnauld,項目名稱:cucumber-contrib,代碼行數:12,代碼來源:PercentBackgroundEvent.java

示例14: onRender

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@SuppressWarnings("unchecked")
public void onRender( PdfContentByte cb ) throws PdfRenderException{
	
	float[] positions = new BlockFactory().getBoundsInPs(this);
	
	try{
		@SuppressWarnings("rawtypes")
		Hashtable hintMap = new Hashtable();
		hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
		PdfDocument req = getPage().getPdfDocument();
		QRCodeWriter qrCodeWriter = new QRCodeWriter();
		BitMatrix byteMatrix = qrCodeWriter.encode(getText(), BarcodeFormat.QR_CODE, (int) (positions[2]),(int) (positions[3]), hintMap);
		int matrixWidth = byteMatrix.getWidth();
		int matrixHeight = byteMatrix.getHeight();
		float pageHeight = req.getSize()[1];
		float top = getPosition()[1];

		if (getPage().getPdfDocument().getCutmarks() != null) {
			pageHeight += SizeFactory.CUT_MARK * 2;
			top += SizeFactory.CUT_MARK;
		}

		cb.setColorFill(getBaseColor());
		float pageHeightInPs = SizeFactory.millimetersToPostscriptPoints(pageHeight);
		float topInPs = SizeFactory.millimetersToPostscriptPoints(top);
		for (int i = byteMatrix.getTopLeftOnBit()[0]; i < matrixWidth; i++) {
			for (int j = byteMatrix.getTopLeftOnBit()[0]; j < matrixHeight; j++) {
				if (byteMatrix.get(i, j)) {
					
					cb.rectangle(positions[0] + (i - byteMatrix.getTopLeftOnBit()[0]),pageHeightInPs - ((topInPs + 1) + (j - byteMatrix .getTopLeftOnBit()[0])), 1, 1);
				}
			}
		}

		cb.fill();
		cb.setColorFill(new ColorFactory().getBlack()); 
 
	}catch( Exception e ){
		
	}
}
 
開發者ID:Billes,項目名稱:pdf-renderer,代碼行數:42,代碼來源:QRCode.java

示例15: testComplex

import com.itextpdf.text.pdf.PdfContentByte; //導入方法依賴的package包/類
@Test
public void testComplex() throws FileNotFoundException, DocumentException
{
    Document document = new Document();
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(new File(RESULT_FOLDER, "transparencyComplex.pdf")));
    writer.setCompressionLevel(0);
    document.open();
    PdfContentByte content = writer.getDirectContent();

    content.setRGBColorStroke(0, 255, 0);
    for (int y = 0; y <= 400; y+= 10)
    {
        content.moveTo(0, y);
        content.lineTo(500, y);
    }
    for (int x = 0; x <= 500; x+= 10)
    {
        content.moveTo(x, 0);
        content.lineTo(x, 400);
    }
    content.stroke();

    PdfTemplate template = content.createTemplate(500, 400);
    PdfTransparencyGroup group = new PdfTransparencyGroup();
    group.put(PdfName.CS, PdfName.DEVICEGRAY);
    group.setIsolated(false);
    group.setKnockout(false);
    template.setGroup(group);
    PdfShading radial = PdfShading.simpleRadial(writer, 262, 186, 10, 262, 186, 190, BaseColor.WHITE, BaseColor.BLACK, true, true);
    template.paintShading(radial);

    PdfDictionary mask = new PdfDictionary();
    mask.put(PdfName.TYPE, PdfName.MASK);
    mask.put(PdfName.S, new PdfName("Luminosity"));
    mask.put(new PdfName("G"), template.getIndirectReference());

    content.saveState();
    PdfGState state = new PdfGState();
    state.put(PdfName.SMASK, mask);
    content.setGState(state);
    content.setRGBColorFill(255, 0, 0);
    content.moveTo(162, 86);
    content.lineTo(162, 286);
    content.lineTo(362, 286);
    content.lineTo(362, 86);
    content.closePath();
    //content.fillStroke();
    content.fill();
    
    content.restoreState();

    document.close();
}
 
開發者ID:mkl-public,項目名稱:testarea-itext5,代碼行數:54,代碼來源:TestTransparency.java


注:本文中的com.itextpdf.text.pdf.PdfContentByte.fill方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。