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


Java PdfStamper.getUnderContent方法代码示例

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


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

示例1: main

import com.lowagie.text.pdf.PdfStamper; //导入方法依赖的package包/类
/**
    * Reads the pages of an existing PDF file, adds pagenumbers and a watermark.

    */
@Test
   public  void main() throws Exception {
           // we create a reader for a certain document
           PdfReader reader = new PdfReader(PdfTestBase.RESOURCES_DIR +"ChapterSection.pdf");
           int n = reader.getNumberOfPages();
           // we create a stamper that will copy the document to a new file
           PdfStamper stamp = new PdfStamper(reader,PdfTestBase.getOutputStream("watermark_pagenumbers.pdf"));
           // adding some metadata
           HashMap<String, String> moreInfo = new HashMap<String, String>();
           moreInfo.put("Author", "Bruno Lowagie");
           stamp.setMoreInfo(moreInfo);
           // adding content to each page
           int i = 0;
           PdfContentByte under;
           PdfContentByte over;
           Image img = Image.getInstance(PdfTestBase.RESOURCES_DIR +"watermark.jpg");
           BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
           img.setAbsolutePosition(200, 400);
           while (i < n) {
           	i++;
           	// watermark under the existing page
           	under = stamp.getUnderContent(i);
           	under.addImage(img);
           	// text over the existing page
           	over = stamp.getOverContent(i);
           	over.beginText();
           	over.setFontAndSize(bf, 18);
           	over.setTextMatrix(30, 30);
           	over.showText("page " + i);
           	over.setFontAndSize(bf, 32);
           	over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE", 230, 430, 45);
           	over.endText();
           }
           // adding an extra page
           stamp.insertPage(1, PageSize.A4);
           over = stamp.getOverContent(1);
       	over.beginText();
       	over.setFontAndSize(bf, 18);
           over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE OF AN EXISTING PDF DOCUMENT", 30, 600, 0);
           over.endText();
           // adding a page from another document
           PdfReader reader2 = new PdfReader(PdfTestBase.RESOURCES_DIR +"SimpleAnnotations1.pdf");
           under = stamp.getUnderContent(1);
           under.addTemplate(stamp.getImportedPage(reader2, 3), 1, 0, 0, 1, 0, 0);
           // closing PdfStamper will generate the new PDF file
           stamp.close();
   }
 
开发者ID:albfernandez,项目名称:itext2,代码行数:52,代码来源:AddWatermarkPageNumbersTest.java

示例2: main

import com.lowagie.text.pdf.PdfStamper; //导入方法依赖的package包/类
/**
	 * Reads the pages of an existing PDF file, adds pagenumbers and a
	 * watermark.
	 * 
	 * @param args
	 *            no arguments needed
	 */
	public static void main(String[] args) {
		System.out.println("Add watermarks and pagenumbers");
		try {
			// we create a reader for a certain document
			//Can't use filename directly
			//PdfReader reader = new PdfReader("chaptersection.pdf");
			PdfReader reader = new PdfReader(PdfTestRunner.getActivity().getResources().openRawResource(R.raw.chaptersection));
			int n = reader.getNumberOfPages();
			// we create a stamper that will copy the document to a new file
			PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(android.os.Environment.getExternalStorageDirectory() + java.io.File.separator + "droidtext" + java.io.File.separator + "watermark_pagenumbers.pdf"));
			// adding some metadata
			HashMap moreInfo = new HashMap();
			moreInfo.put("Author", "Bruno Lowagie");
			stamp.setMoreInfo(moreInfo);
			// adding content to each page
			int i = 0;
			PdfContentByte under;
			PdfContentByte over;
			//Can't use filename => use byte[] instead
//			Image img = Image.getInstance("watermark.jpg");
			ByteArrayOutputStream stream = new ByteArrayOutputStream();
			Bitmap bitmap = BitmapFactory.decodeResource(PdfTestRunner.getActivity().getResources(), R.drawable.watermark);
			bitmap.compress(Bitmap.CompressFormat.JPEG /* FileType */,
			                        100 /* Ratio */, stream);
			Image img = Image.getInstance(stream.toByteArray());
			
			BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
			img.setAbsolutePosition(200, 400);
			while (i < n) {
				i++;
				// watermark under the existing page
				under = stamp.getUnderContent(i);
				under.addImage(img);
				// text over the existing page
				over = stamp.getOverContent(i);
				over.beginText();
				over.setFontAndSize(bf, 18);
				over.setTextMatrix(30, 30);
				over.showText("page " + i);
				over.setFontAndSize(bf, 32);
				over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE", 230, 430, 45);
				over.endText();
			}
			// adding an extra page
			stamp.insertPage(1, PageSize.A4);
			over = stamp.getOverContent(1);
			over.beginText();
			over.setFontAndSize(bf, 18);
			over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE OF AN EXISTING PDF DOCUMENT", 30, 600, 0);
			over.endText();
			// adding a page from another document
			//Can't use filename directly
//			PdfReader reader2 = new PdfReader("SimpleAnnotations1.pdf");
			PdfReader reader2 = new PdfReader(PdfTestRunner.getActivity().getResources().openRawResource(R.raw.simpleannotations1));
			under = stamp.getUnderContent(1);
			under.addTemplate(stamp.getImportedPage(reader2, 3), 1, 0, 0, 1, 0, 0);
			// closing PdfStamper will generate the new PDF file
			stamp.close();
		} catch (Exception de) {
			de.printStackTrace();
		}
	}
 
开发者ID:fc-dream,项目名称:PDFTestForAndroid,代码行数:70,代码来源:AddWatermarkPageNumbers.java


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