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


Java PdfDocument.close方法代码示例

本文整理汇总了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();


}
 
开发者ID:padeoe,项目名称:nju-lib-downloader,代码行数:18,代码来源:PDFReader.java

示例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();
}
 
开发者ID:padeoe,项目名称:nju-lib-downloader,代码行数:20,代码来源:PDFTool.java

示例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;
    }
}
 
开发者ID:grassrootza,项目名称:grassroot-platform,代码行数:80,代码来源:PdfGeneratingServiceImpl.java


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