Java源码示例:com.itextpdf.text.ExceptionConverter

示例1
public void cellLayout(PdfPCell cell, Rectangle position,
                               PdfContentByte[] canvases) {
            PdfWriter writer = canvases[0].getPdfWriter();
            float x = position.getLeft();
            float y = position.getBottom();
            Rectangle rect = new Rectangle(x-5, y-5, x+5, y+5);
            RadioCheckField checkbox = new RadioCheckField(
                    writer, rect, name, "Yes");
            checkbox.setCheckType(RadioCheckField.TYPE_CROSS);
            checkbox.setChecked(check);
// change: set border color
            checkbox.setBorderColor(BaseColor.BLACK);

            try {
                pdfStamper.addAnnotation(checkbox.getCheckField(), page);
            } catch (Exception e) {
                throw new ExceptionConverter(e);
            }
        }
 
示例2
/**
 * <a href="http://stackoverflow.com/questions/29209553/itextsharp-pdftextextractor-gettextfrompage-throwing-nullreferenceexception">
 * iTextSharp PdfTextExtractor GetTextFromPage Throwing NullReferenceException
 * </a>
 * 
 * Test using an incomplete, invalid copy of stockQuotes_03232015.pdf from
 * http://www.pse.com.ph/stockMarket/marketInfo-marketActivity.html?tab=4
 */
@Test
public void testStockQuotes_03232015_Incomplete() throws Exception
{
    InputStream resourceStream = getClass().getResourceAsStream("stockQuotes_03232015-incomplete.pdf");
    try
    {
        PdfReader reader = new PdfReader(resourceStream);
        String content = extractAndStore(reader, new File(RESULT_FOLDER, "stockQuotes_03232015-incomplete.%s.txt").toString());

        System.out.println("\nText stockQuotes_03232015-incomplete.pdf\n************************");
        System.out.println(content);
        System.out.println("************************");
    }
    catch (ExceptionConverter e)
    {
        System.err.println("\nException for stockQuotes_03232015-incomplete.pdf\n************************");
        e.printStackTrace();
        System.err.println("************************");
    }
    finally
    {
        if (resourceStream != null)
            resourceStream.close();
    }
}
 
示例3
public void cellLayout(PdfPCell cell, Rectangle rectangle, PdfContentByte[] canvases) {
            final PdfWriter writer = canvases[0].getPdfWriter();
            final TextField textField = new TextField(writer, rectangle, fieldname);
// change: set border color
            textField.setBorderColor(BaseColor.BLACK);
            try {
                final PdfFormField field = textField.getTextField();
                pdfStamper.addAnnotation(field, page);
            } catch (final IOException ioe) {
                throw new ExceptionConverter(ioe);
            } catch (final DocumentException de) {
                throw new ExceptionConverter(de);
            }
        }
 
示例4
/**
 * Copied from {@link AcroFields#verifySignature(String, String)} and changed to work on the
 * given signature dictionary.
 */
public PdfPKCS7 verifySignature(PdfReader reader, PdfDictionary v, String provider) {
    if (v == null)
        return null;
    try {
        PdfName sub = v.getAsName(PdfName.SUBFILTER);
        PdfString contents = v.getAsString(PdfName.CONTENTS);
        PdfPKCS7 pk = null;
        if (sub.equals(PdfName.ADBE_X509_RSA_SHA1)) {
            PdfString cert = v.getAsString(PdfName.CERT);
            if (cert == null)
                cert = v.getAsArray(PdfName.CERT).getAsString(0);
            pk = new PdfPKCS7(contents.getOriginalBytes(), cert.getBytes(), provider);
        }
        else
            pk = new PdfPKCS7(contents.getOriginalBytes(), sub, provider);
        updateByteRange(reader, pk, v);
        PdfString str = v.getAsString(PdfName.M);
        if (str != null)
            pk.setSignDate(PdfDate.decode(str.toString()));
        PdfObject obj = PdfReader.getPdfObject(v.get(PdfName.NAME));
        if (obj != null) {
          if (obj.isString())
            pk.setSignName(((PdfString)obj).toUnicodeString());
          else if(obj.isName())
            pk.setSignName(PdfName.decodeName(obj.toString()));
        }
        str = v.getAsString(PdfName.REASON);
        if (str != null)
            pk.setReason(str.toUnicodeString());
        str = v.getAsString(PdfName.LOCATION);
        if (str != null)
            pk.setLocation(str.toUnicodeString());
        return pk;
    }
    catch (Exception e) {
        throw new ExceptionConverter(e);
    }
}
 
示例5
/**
 * Adds a header to every page
 * @see com.itextpdf.text.pdf.PdfPageEventHelper#onEndPage(
 *      com.itextpdf.text.pdf.PdfWriter, com.itextpdf.text.Document)
 */
public void onEndPage(PdfWriter writer, Document document) {
	PdfPTable table = new PdfPTable(3);
	try {
		table.setWidths(new int[]{40,5,10});
		table.setTotalWidth(100);
		table.getDefaultCell().setBorder(Rectangle.NO_BORDER);
		table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
		Font font=new Font(chineseFont,8);
		font.setColor(new BaseColor(55,55,55));
		Paragraph paragraph=new Paragraph("第   "+writer.getPageNumber()+" 页   共",font);
		paragraph.setAlignment(Element.ALIGN_RIGHT);
		table.addCell(paragraph);
		Image img=Image.getInstance(total);
		img.scaleAbsolute(28, 28);
		PdfPCell cell = new PdfPCell(img);
		cell.setBorder(Rectangle.NO_BORDER);
		cell.setHorizontalAlignment(Element.ALIGN_CENTER);
		table.addCell(cell);
		PdfPCell c = new PdfPCell(new Paragraph("页",font));
		c.setHorizontalAlignment(Element.ALIGN_LEFT);
		c.setBorder(Rectangle.NO_BORDER);
		table.addCell(c);
		float center=(document.getPageSize().getWidth())/2-120/2;
		table.writeSelectedRows(0, -1,center,30, writer.getDirectContent());
	}
	catch(DocumentException de) {
		throw new ExceptionConverter(de);
	}
}