本文整理汇总了Java中com.itextpdf.kernel.pdf.PdfDocument.close方法的典型用法代码示例。如果您正苦于以下问题:Java PdfDocument.close方法的具体用法?Java PdfDocument.close怎么用?Java PdfDocument.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.itextpdf.kernel.pdf.PdfDocument
的用法示例。
在下文中一共展示了PdfDocument.close方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: manipulatePdf
import com.itextpdf.kernel.pdf.PdfDocument; //导入方法依赖的package包/类
@Test
public void manipulatePdf() throws IOException {
PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC));
Rectangle rect = new Rectangle(36, 750, 523, 56);
FontFilter fontFilter = new FontFilter(rect);
FilteredEventListener listener = new FilteredEventListener();
LocationTextExtractionStrategy extractionStrategy = listener.attachEventListener(new LocationTextExtractionStrategy(), fontFilter);
new PdfCanvasProcessor(listener).processPageContent(pdfDoc.getFirstPage());
String actualText = extractionStrategy.getResultantText();
System.out.println(actualText);
pdfDoc.close();
}
示例2: generatePDFFromImage
import com.itextpdf.kernel.pdf.PdfDocument; //导入方法依赖的package包/类
/**
* 将图片合成为一个PDF
* @param inputImage 图片,格式为图片格式
* @param outputPDF 输出文件
* @throws FileNotFoundException
* @throws MalformedURLException
*/
public static void generatePDFFromImage(File[] inputImage,File outputPDF) throws FileNotFoundException, MalformedURLException {
List<Image>images=new LinkedList<>();
for(File file:inputImage){
images.add(new Image(ImageDataFactory.create(file.getPath())));
}
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(outputPDF.getPath()));
images.forEach(image -> pdfDoc.addNewPage(new PageSize(new Rectangle(image.getImageScaledWidth(), image.getImageScaledHeight()))));
BackgroundEventHandler handler = new BackgroundEventHandler(images);
pdfDoc.addEventHandler(PdfDocumentEvent.END_PAGE, handler);
pdfDoc.close();
}
示例3: generateInvoice
import com.itextpdf.kernel.pdf.PdfDocument; //导入方法依赖的package包/类
@Override
@Transactional(readOnly = true)
public File generateInvoice(List<String> billingRecordUids) {
try {
PdfReader pdfReader = new PdfReader(folderPath + "/invoice_template.pdf");// Source File
File tempStorage = File.createTempFile("invoice","pdf");
tempStorage.deleteOnExit();
PdfDocument myDocument = new PdfDocument(pdfReader,new PdfWriter(tempStorage.getAbsolutePath()));
PdfAcroForm pdfAcroForm = PdfAcroForm.getAcroForm(myDocument,true);
Map<String,PdfFormField> pdfFormFieldMap = pdfAcroForm.getFormFields();
List<AccountBillingRecord> records = billingRepository.findByUidIn(billingRecordUids);
records.sort(Comparator.reverseOrder());
AccountBillingRecord latest = records.get(0);
AccountBillingRecord earliest = records.get(records.size() - 1);
Account account = latest.getAccount();
Instant priorPeriodStart = earliest.getBilledPeriodStart().minus(1, ChronoUnit.DAYS); // since the prior statement might have been a day or two earlier
if (latest.getStatementDateTime() == null) {
throw new IllegalArgumentException("Errror! Latest bill must be a statement generating record");
}
List<AccountBillingRecord> priorPaidBills = billingRepository.findAll(Specifications.where(forAccount(account))
.and(createdBetween(priorPeriodStart, earliest.getBilledPeriodStart(), false))
.and(isPaid(true)));
if (priorPaidBills != null && !priorPaidBills.isEmpty()) {
priorPaidBills.sort(Comparator.reverseOrder());
AccountBillingRecord priorRecord = priorPaidBills.get(0);
pdfFormFieldMap.get("lastBilledAmountDescription").setValue(String.format("Last invoice for R%s, dated %s",
amountFormat.format((double) priorRecord.getTotalAmountToPay() / 100), formatAtSAST(priorRecord.getCreatedDateTime(), dateHeader)));
pdfFormFieldMap.get("lastBilledAmount").setValue(amountFormat.format((double) priorRecord.getTotalAmountToPay() / 100));
if (priorRecord.getPaid() && priorRecord.getPaidAmount() != null) {
pdfFormFieldMap.get("lastPaymentAmountReceived").setValue(String.format("Payment received by credit card on %s, " +
"thank you", formatAtSAST(priorRecord.getPaidDate(), dateHeader)));
pdfFormFieldMap.get("lastPaidAmount").setValue(amountFormat.format((double) priorRecord.getPaidAmount() / 100));
}
}
pdfFormFieldMap.get("invoiceNumber").setValue("INVOICE NO " + latest.getId());
pdfFormFieldMap.get("invoiceDate").setValue(formatAtSAST(latest.getStatementDateTime(), dateHeader));
pdfFormFieldMap.get("billedUserName").setValue(latest.getAccount().getBillingUser().getDisplayName());
pdfFormFieldMap.get("emailAddress").setValue(String.format("Email: %s", account.getBillingUser().getEmailAddress()));
pdfFormFieldMap.get("priorBalance").setValue(amountFormat.format((double) latest.getOpeningBalance() / 100));
pdfFormFieldMap.get("thisBillItems1").setValue(String.format("Monthly subscription for '%s' account",
latest.getAccount().getType().name().toLowerCase()));
pdfFormFieldMap.get("billedAmount1").setValue(amountFormat
.format((double) latest.getAmountBilledThisPeriod() / 100));
pdfFormFieldMap.get("totalAmountToPay").setValue(amountFormat
.format((double) latest.getTotalAmountToPay() / 100));
// todo: reintroduce these fields if needed
//pdfFormFieldMap.get("footerTextPaymentDate").setValue(String.format("The amount due will be automatically charged to " +
//"your card on %s", formatAtSAST(latest.getNextPaymentDate(), dateHeader)));
//fields.setField("footerTextPaymentDate", String.format("The amount due will be automatically charged to " +
//"your card on %s", formatAtSAST(latest.getNextPaymentDate(), dateHeader)));
pdfAcroForm.flattenFields();
myDocument.close();
pdfReader.close();
logger.info("Invoice PDF generated, returning ... ");
return tempStorage;
} catch (IOException e) {
logger.warn("Could not find template path! Input: {}", folderPath);
e.printStackTrace();
return null;
}
}