本文整理汇总了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();
}
示例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();
}
}
示例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
;
}
示例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);
}
示例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();
}
}
示例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();
}
示例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();
}
}
示例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();
}
}
示例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();
}
示例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());
}
}
示例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();
}
示例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);
}
示例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();
}
}
示例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 ){
}
}
示例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();
}