当前位置: 首页>>代码示例>>Java>>正文


Java PDPageContentStream.appendRawCommands方法代码示例

本文整理汇总了Java中org.apache.pdfbox.pdmodel.edit.PDPageContentStream.appendRawCommands方法的典型用法代码示例。如果您正苦于以下问题:Java PDPageContentStream.appendRawCommands方法的具体用法?Java PDPageContentStream.appendRawCommands怎么用?Java PDPageContentStream.appendRawCommands使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.pdfbox.pdmodel.edit.PDPageContentStream的用法示例。


在下文中一共展示了PDPageContentStream.appendRawCommands方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: overlayWithDarkenBlendMode

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
void overlayWithDarkenBlendMode(PDDocument document, PDDocument overlay) throws IOException
{
    PDXObjectForm xobject = importAsXObject(document, (PDPage) overlay.getDocumentCatalog().getAllPages().get(0));
    PDExtendedGraphicsState darken = new PDExtendedGraphicsState();
    darken.getCOSDictionary().setName("BM", "Darken");
    
    List<PDPage> pages = document.getDocumentCatalog().getAllPages();

    for (PDPage page: pages)
    {
        Map<String, PDExtendedGraphicsState> states = page.getResources().getGraphicsStates();
        if (states == null)
            states = new HashMap<String, PDExtendedGraphicsState>();
        String darkenKey = MapUtil.getNextUniqueKey(states, "Dkn");
        states.put(darkenKey, darken);
        page.getResources().setGraphicsStates(states);

        PDPageContentStream stream = new PDPageContentStream(document, page, true, false, true);
        stream.appendRawCommands(String.format("/%s gs ", darkenKey));
        stream.drawXObject(xobject, 0, 0, 1, 1);
        stream.close();
    }
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:24,代码来源:OverlayWithEffect.java

示例2: testDrawEuro

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
/**
 * <a href="http://stackoverflow.com/questions/22260344/pdfbox-encode-symbol-currency-euro">
 * PdfBox encode symbol currency euro
 * </a>
 * <p>
 * Three ways of trying to draw a '�' symbol, the first one fails.
 * </p>
 */
@Test
public void testDrawEuro() throws IOException, COSVisitorException
{
    PDDocument document = new PDDocument();
    PDPage page = new PDPage();
    document.addPage(page);
    PDPageContentStream contents = new PDPageContentStream(document, page);
    PDFont font = PDType1Font.HELVETICA_BOLD;
    contents.beginText();
    contents.setFont(font, 18);
    contents.moveTextPositionByAmount(30, 600);
    contents.drawString("�");
    contents.moveTextPositionByAmount(0, -30);
    contents.drawString(String.valueOf(Character.toChars(EncodingManager.INSTANCE.getEncoding(COSName.WIN_ANSI_ENCODING).getCode("Euro"))));
    contents.moveTextPositionByAmount(0, -30);
    byte[] commands = "(x) Tj ".getBytes();
    commands[1] = (byte) 128;
    contents.appendRawCommands(commands);
    contents.endText();
    contents.close();
    document.save(new File(RESULT_FOLDER, "Euro.pdf"));
    document.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:32,代码来源:DrawSpecialCharacters.java

示例3: testDrawTmSignCustomDraw

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
@Test
public void testDrawTmSignCustomDraw() throws IOException, COSVisitorException
{
	PDDocument document = new PDDocument();
       PDPage page = new PDPage();
       document.addPage(page);
       PDPageContentStream contents = new PDPageContentStream(document, page);
       PDFont font = PDType1Font.HELVETICA_BOLD;
       contents.beginText();
       contents.setFont(font, 18);
       contents.moveTextPositionByAmount(30, 600);
       contents.drawString("90000039-PREDISOL � C YELLOW 13 SNDOT");
       byte[] commands = "(x) Tj ".getBytes();
       commands[1] = (byte) 0231;
       contents.appendRawCommands(commands);
       contents.drawString("M");
       contents.endText();
       contents.close();
       document.save(new File(RESULT_FOLDER, "TM_customDraw.pdf"));
       document.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:22,代码来源:DrawSpecialCharacters.java

示例4: testDrawTmSignLetters

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
@Test
public void testDrawTmSignLetters() throws IOException, COSVisitorException
{
	PDDocument document = new PDDocument();
       PDPage page = new PDPage();
       document.addPage(page);
       PDPageContentStream contents = new PDPageContentStream(document, page);
       PDFont font = PDType1Font.HELVETICA_BOLD;
       contents.beginText();
       contents.setFont(font, 18);
       contents.moveTextPositionByAmount(30, 600);
       contents.drawString("90000039-PREDISOL � C YELLOW 13 SNDOT");
       contents.appendRawCommands("\n6 Ts\n".getBytes());
       contents.setFont(font, 10);
       contents.drawString("TM");
       contents.appendRawCommands("\n0 Ts\n".getBytes());
       contents.setFont(font, 18);
       contents.drawString("M");
       contents.endText();
       contents.close();
       document.save(new File(RESULT_FOLDER, "TM_letters.pdf"));
       document.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:24,代码来源:DrawSpecialCharacters.java

示例5: overlayWithDarkenBlendMode

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
public static void overlayWithDarkenBlendMode(PDDocument document, PDDocument overlay) throws IOException
{
    PDXObjectForm xobject = importAsXObject(document, (PDPage) overlay.getDocumentCatalog().getAllPages().get(0));
    PDExtendedGraphicsState darken = new PDExtendedGraphicsState();
    darken.getCOSDictionary().setName("BM", "Darken");

    List<PDPage> pages = document.getDocumentCatalog().getAllPages();

    for (PDPage page: pages)
    {
        if (page.getResources() == null) {
            page.setResources(page.findResources());
        }

        if (page.getResources() != null) {
            Map<String, PDExtendedGraphicsState> states = page.getResources().getGraphicsStates();
            if (states == null) {
                states = new HashMap<String, PDExtendedGraphicsState>();
            }
            String darkenKey = MapUtil.getNextUniqueKey(states, "Dkn");
            states.put(darkenKey, darken);
            page.getResources().setGraphicsStates(states);
            PDPageContentStream stream = new PDPageContentStream(document, page, true, false, true);
            stream.appendRawCommands(String.format("/%s gs ", darkenKey));
            stream.drawXObject(xobject, 0, 0, 1, 1);
            stream.close();
        }
    }
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:30,代码来源:OverlayWithEffect.java

示例6: testTransparentTextLikeTilman

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
/**
 * <a href="http://stackoverflow.com/questions/39998390/how-to-create-transparent-text-in-pdfbox-or-add-opacity-to-the-text-with-the-hel">
 * How to create Transparent text in pdfBOX or add opacity to the text with the help of pdfBOX?
 * </a>
 * <p>
 * Indeed, this code does not produce transparency... but look at
 * {@link #testTransparentTextLikeTilmanImproved()}.
 * </p>
 */
@Test
public void testTransparentTextLikeTilman() throws IOException, COSVisitorException
{
    PDDocument document = new PDDocument();
    PDPage page = new PDPage();
    document.addPage(page);
    PDPageContentStream cs = new PDPageContentStream(document, page);

    PDExtendedGraphicsState gs1 = new PDExtendedGraphicsState();
    gs1.setNonStrokingAlphaConstant(1f);
    PDExtendedGraphicsState gs2 = new PDExtendedGraphicsState();
    gs2.setNonStrokingAlphaConstant(0.2f);
    Map<String, PDExtendedGraphicsState> graphicsStatesMap = page.getResources().getGraphicsStates();
    if (graphicsStatesMap == null)
    {
        graphicsStatesMap = new HashMap<String, PDExtendedGraphicsState>();
    }
    graphicsStatesMap.put("gs1", gs1);
    graphicsStatesMap.put("gs2", gs2);
    page.getResources().setGraphicsStates(graphicsStatesMap);
    cs.setFont(PDType1Font.HELVETICA_BOLD, 60);
    cs.setNonStrokingColor(0, 0, 0);
    cs.beginText();
    cs.appendRawCommands("/gs1 gs\n");
    cs.moveTextPositionByAmount(50, 600);
    cs.drawString("Apache PDFBox 1");
    cs.appendRawCommands("/gs2 gs\n");
    cs.moveTextPositionByAmount(20, 20);
    cs.drawString("Apache PDFBox 2");
    cs.endText();
    cs.close();

    cs.close();
    document.save(new File(RESULT_FOLDER, "transparentTextLikeTilman.pdf"));
    document.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:46,代码来源:TransparentText.java

示例7: testTransparentTextLikeTilmanImproved

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
/**
 * <a href="http://stackoverflow.com/questions/39998390/how-to-create-transparent-text-in-pdfbox-or-add-opacity-to-the-text-with-the-hel">
 * How to create Transparent text in pdfBOX or add opacity to the text with the help of pdfBOX?
 * </a>
 * <p>
 * This code (which parallels Tilman's own improved code) does produce transparency
 * in contrast to {@link #testTransparentTextLikeTilman()}.
 * </p>
 */
@Test
public void testTransparentTextLikeTilmanImproved() throws IOException, COSVisitorException
{
    PDDocument document = new PDDocument();
    PDPage page = new PDPage();
    document.addPage(page);
    PDPageContentStream cs = new PDPageContentStream(document, page);

    PDExtendedGraphicsState gs1 = new PDExtendedGraphicsState();
    gs1.setNonStrokingAlphaConstant(1f);
    PDExtendedGraphicsState gs2 = new PDExtendedGraphicsState();
    gs2.setNonStrokingAlphaConstant(0.2f);
    Map<String, PDExtendedGraphicsState> graphicsStatesMap = page.getResources().getGraphicsStates();
    if (graphicsStatesMap == null)
    {
        graphicsStatesMap = new HashMap<String, PDExtendedGraphicsState>();
    }
    graphicsStatesMap.put("gs1", gs1);
    graphicsStatesMap.put("gs2", gs2);
    page.getResources().setGraphicsStates(graphicsStatesMap);
    cs.setFont(PDType1Font.HELVETICA_BOLD, 60);
    cs.setNonStrokingColor(0, 0, 0);
    cs.appendRawCommands("/gs1 gs\n");
    cs.setNonStrokingColor(Color.green);
    cs.beginText();
    cs.moveTextPositionByAmount(50, 600);
    cs.drawString("Apache PDFBox 1");
    cs.endText();
    cs.appendRawCommands("/gs2 gs\n");
    cs.setNonStrokingColor(Color.red);
    cs.beginText();
    cs.moveTextPositionByAmount(70, 620);
    cs.drawString("Apache PDFBox 2");
    cs.endText();
    cs.close();

    cs.close();
    document.save(new File(RESULT_FOLDER, "transparentTextLikeTilmanImproved.pdf"));
    document.close();
}
 
开发者ID:mkl-public,项目名称:testarea-pdfbox1,代码行数:50,代码来源:TransparentText.java

示例8: fillTemplate

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
public PDDocument fillTemplate(List<String> macs, List<String> ssids) throws IOException {
	
	PDDocument cert = new PDDocument();
	
	for (int i = 0; i < macs.size(); i++){
		String mac = macs.get(i);
		String ssid = ssids.get(i);
		
		PDPage page = new PDPage(LETTER_LANDSCAPE);


		//page.setRotation(90);
		//page.se
		cert.addPage(page);
		PDPageContentStream stream = new PDPageContentStream(cert, page, false, false);
		// TODO - Make sure that we can't cache these somehow.
	
		PDTrueTypeFont ssidFont = loadFontResource(cert, SSID_FONT_NAME);
		
		PDTrueTypeFont macFont = loadFontResource(cert, MAC_FONT_NAME);		
		
		stream.beginText();
		stream.setFont( ssidFont, SSID_FONT_SIZE );
		stream.moveTextPositionByAmount( 205, 203 );
		String ssidStr = String.format(PREFERRED_NETWORK_INTRO, ssid);
		Paragraph p = new Paragraph(ssidFont,SSID_FONT_SIZE, 385, ssidStr);
		Iterator<String> it = p.getLines().iterator();
		
	    stream.appendRawCommands(
	    		ssidFont.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * SSID_FONT_SIZE 
	    		+ " TL\n");
		while (it.hasNext()){
			stream.drawString(it.next());
			if (it.hasNext()) {
	            stream.appendRawCommands("T*\n");
	        }
		}
		
		stream.endText();
		
		stream.beginText();
		stream.setFont(macFont, MAC_FONT_SIZE); 
		float macWidth = macFont.getStringWidth(mac) / 1000 * MAC_FONT_SIZE;
		float x = (page.getMediaBox().getWidth() - macWidth) / 2f;
		stream.moveTextPositionByAmount( x, 300 );
		stream.drawString( mac );
		stream.endText();
		// Make sure that the content stream is closed:
		stream.close();
	}
	
	Overlay overlay = new Overlay();
	PDDocument endDoc = overlay.overlay(m_template, cert);

	return endDoc;
	
}
 
开发者ID:davruet,项目名称:shenanigans.io,代码行数:58,代码来源:CertTemplate.java

示例9: addWatermark

import org.apache.pdfbox.pdmodel.edit.PDPageContentStream; //导入方法依赖的package包/类
@Override
public void addWatermark(final PDDocument doc, final PDPage page, final Color color,
		final String text, final WatermarkPosition watermarkPosition) throws IOException,
		WatermarkOutOfLengthException {

	if (doc != null && page != null && color != null && StringUtils.isNotBlank(text)
			&& watermarkPosition != null) {

		// Attributes are extrated from the watermarkPosition argument.
		Double rotationAngle = 0D;
		Double rotationTX = 0D;
		Double rotationTY = 0D;
		Integer maxLength = 0;

		if (page.getMediaBox().getHeight() > page.getMediaBox().getWidth()) {
			// Page is portrait
			rotationAngle = watermarkPosition.getRotationAnglePortrait();
			rotationTX = watermarkPosition.getRotationTXPortrait();
			rotationTY = watermarkPosition.getRotationTYPortrait();
			maxLength = watermarkPosition.getMaxLengthPortrait();
		} else {
			// Page is landscape
			rotationAngle = watermarkPosition.getRotationAngleLandscape();
			rotationTX = watermarkPosition.getRotationTXLandscape();
			rotationTY = watermarkPosition.getRotationTYLandscape();
			maxLength = watermarkPosition.getMaxLengthLandscape();
		}

		// In case text is too large, an exception is thrown.
		if (text.length() > maxLength) {
			throw new WatermarkOutOfLengthException(
					Constants.WATERMARK_OUT_OF_LENGTH_EXCEPTION_MESSAGE);
		}

		final PDPageContentStream contentStream = new PDPageContentStream(doc, page, true, true);
		contentStream.appendRawCommands("/TransparentState gs\n");
		contentStream.setNonStrokingColor(color);
		contentStream.beginText();
		contentStream.setFont(PDType1Font.HELVETICA, 70);
		contentStream.setTextRotation(rotationAngle, rotationTX, rotationTY);
		// Text is centered
		final Integer size = (maxLength * 2) - text.length();
		final String centeredText = StringUtils.center(text, size);
		contentStream.drawString(centeredText);
		contentStream.endText();
		contentStream.close();
	}
}
 
开发者ID:alexpernas,项目名称:PDFGal,代码行数:49,代码来源:WatermarkUtilsImpl.java


注:本文中的org.apache.pdfbox.pdmodel.edit.PDPageContentStream.appendRawCommands方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。