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);
}
}