Package com.itextpdf.text.pdf

Examples of com.itextpdf.text.pdf.PdfReader


  public Signature[] getSignatures(final byte[] data) {
    try {
      KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
      keystore.load(null, null);

      PdfReader reader = new PdfReader(data);
      AcroFields fields = reader.getAcroFields();
      Collection<Signature> signatures = new ArrayList<Signature>();
      if (fields != null) {
        List<String> list = fields.getSignatureNames();
        if ((list != null) && (!list.isEmpty())) {
          for (String str : list) {
View Full Code Here


  public InputStream cut(final InputStream source, final int start, final int end) {
    try {
      Assert.notNull(source, "source");
      Assert.greaterOrEqual(start, 1, "start");

      PdfReader reader = new PdfReader(source);
      Document document = new Document(reader.getPageSizeWithRotation(1));
      InputOutputStream outputStream = new InputOutputStream();
      PdfCopy writer = new PdfCopy(document, outputStream);
      int pageCount = reader.getNumberOfPages();

      Assert.lessOrEqual(start, pageCount, "start");

      int endPage = end;
      if (endPage > pageCount) {
        endPage = pageCount;
      }

      document.open();

      for (int i = start; i <= endPage; i++) {
        PdfImportedPage page = writer.getImportedPage(reader, i);
        writer.addPage(page);
      }

      document.close();
      writer.close();
      reader.close();

      return outputStream.getInputStream();
    } catch (IOException e) {
      throw new PDFException(e);
    } catch (DocumentException e) {
View Full Code Here

      PdfCopy writer = new PdfCopy(document, outputStream);

      document.open();

      for (InputStream source : sources) {
        PdfReader reader = new PdfReader(source);
        int pageCount = reader.getNumberOfPages();
        for (int i = 1; i <= pageCount; i++) {
          PdfImportedPage page = writer.getImportedPage(reader, i);
          writer.addPage(page);
        }
        reader.close();
      }

      document.close();
      writer.close();
View Full Code Here

  public InputStream[] split(final InputStream source, final int size) {
    try {
      Assert.notNull(source, "source");
      Assert.greaterThan(size, 0, "size");

      PdfReader reader = new PdfReader(source);
      int pageCount = reader.getNumberOfPages();
      List<InputStream> list = new LinkedList<InputStream>();

      Document document = null;
      InputOutputStream outputStream = null;
      PdfCopy writer = null;
      for (int i = 1; i <= pageCount; i++) {
        if ((document == null) || ((i % size) == 0)) {
          if (document != null) {
            document.close();
            writer.close();
            list.add(outputStream.getInputStream());
          }
          document = new Document(reader.getPageSizeWithRotation(1));
          outputStream = new InputOutputStream();
          writer = new PdfCopy(document, outputStream);
        }
        PdfImportedPage page = writer.getImportedPage(reader, i);
        writer.addPage(page);
      }

      if (document != null) {
        document.close();
        writer.close();
        list.add(outputStream.getInputStream());
      }

      reader.close();

      return CollectionUtils.toArray(list, InputStream.class);
    } catch (IOException e) {
      throw new PDFException(e);
    } catch (DocumentException e) {
View Full Code Here

  @Override
  public String getText(final InputStream source) {
    try {
      Assert.notNull(source, "source");

      PdfReader reader = new PdfReader(source);
      PdfReaderContentParser parser = new PdfReaderContentParser(reader);
      TextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
      int pageCount = reader.getNumberOfPages();
      ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
      PrintWriter writer = new PrintWriter(outputStream);

      for (int i = 1; i <= pageCount; i++) {
        TextExtractionStrategy result = parser.processContent(i, strategy);
        String pageText = result.getResultantText();
        writer.println(pageText);
      }

      reader.close();
      writer.close();

      String text = new String(outputStream.toByteArray());
      return text;
    } catch (IOException e) {
View Full Code Here

        return f;
       
    }
   
    public static PdfReader getResourceAsPdfReader(Object context, String resourceName) throws IOException{
        return new PdfReader(new BufferedInputStream(getResourceAsStream(context, resourceName)));
    }
View Full Code Here

    FileUtils.deleteFile(new File(pngPageName));
  }

  private static String workPdfFile(OcrViaTesseractUtils ocr, String pdfName, String ocrName, Properties metadata)
      throws DocumentReadingException {
    PdfReader reader;
    int xrefSize;
    try {
      reader = new PdfReader(pdfName);
      xrefSize = reader.getXrefSize();
    }
    catch (IOException exception) {
      throw new DocumentReadingException(exception);
    }
    StringBuilder pdfContent = new StringBuilder();
    StringBuilder barcodes = new StringBuilder();
    StringBuilder textBarcodes = new StringBuilder();
    for (int i = 0; i < xrefSize; i++) {
      God.appWindow.getStatusBar().setInitProgress(i, xrefSize);
      try {
        PdfObject pdfobj = reader.getPdfObject(i);
        if (pdfobj != null) {
          if (pdfobj.isStream()) {
            PdfStream stream = (PdfStream) pdfobj;
            PdfObject pdfsubtype = stream.get(PdfName.SUBTYPE);
            if (pdfsubtype != null) {
              if (pdfsubtype.toString().equals(PdfName.IMAGE.toString())) {
                getImageFromPageAndAddOcrResultToContent(ocr, pdfContent, barcodes, textBarcodes, ocrName, stream);
              }
            }
          }
        }
      }
      catch (Exception e) {
        // We may have exceptions within this operations.
      }
    }
    try {
      reader.close();
    }
    catch (Exception e) {
      // Ignore.
    }
    metadata.setProperty(Metadata.BARCODES, barcodes.toString());
View Full Code Here

    FileUtils.deleteFile(new File(pngPageName));
  }

  private static String workPdfFile(OcrViaTesseractUtils ocr, String pdfName, String ocrName, Properties metadata)
      throws Exception {
    PdfReader reader = new PdfReader(pdfName);
    StringBuilder pdfContent = new StringBuilder();
    StringBuilder barcodes = new StringBuilder();
    StringBuilder textBarcodes = new StringBuilder();
    for (int i = 0; i < reader.getXrefSize(); i++) {
      PdfObject pdfobj = reader.getPdfObject(i);
      if (pdfobj != null) {
        if (pdfobj.isStream()) {
          PdfStream stream = (PdfStream) pdfobj;
          PdfObject pdfsubtype = stream.get(PdfName.SUBTYPE);
          if (pdfsubtype != null) {
            if (pdfsubtype.toString().equals(PdfName.IMAGE.toString())) {
              System.out.println("OCR on PDF object " + i);
              getImageFromPageAndAddOcrResultToContent(ocr, pdfContent, barcodes, textBarcodes, ocrName, stream);
            }
          }
        }
      }
    }
    reader.close();
    metadata.setProperty(Metadata.BARCODES, barcodes.toString());
    return pdfContent.toString() + textBarcodes.toString();
  }
View Full Code Here

import com.itextpdf.text.pdf.PdfReader;

class PdfToText {

  public static String fromFile(String fileName) throws IOException {
    PdfReader contra = new PdfReader(fileName);
    byte[] contentContra = contra.getPageContent(1);
    PRTokeniser tokeniser = new PRTokeniser(contentContra);
    StringBuilder text1 = new StringBuilder();

    while (tokeniser.nextToken()) {
      if (tokeniser.getTokenType() == PRTokeniser.TokenType.STRING)
View Full Code Here

  @Override
  public InputStream cut(final InputStream source, final int start, final int end) throws IOException {
    try {
      Assert.notNull(source, "source");

      PdfReader reader = new PdfReader(source);
      Document document = new Document(reader.getPageSizeWithRotation(1));
      InputOutputStream outputStream = new InputOutputStream();
      PdfCopy writer = new PdfCopy(document, outputStream);
      int pageCount = reader.getNumberOfPages();

      Assert.lessOrEqual(start, pageCount, "start");

      int endPage = end;
      if (endPage > pageCount) {
        endPage = pageCount;
      }

      document.open();

      for (int i = start; i <= endPage; i++) {
        PdfImportedPage page = writer.getImportedPage(reader, i);
        writer.addPage(page);
      }

      document.close();
      writer.close();
      reader.close();

      return outputStream.getInputStream();
    } catch (DocumentException e) {
      throw new br.net.woodstock.rockframework.office.DocumentException(e);
    }
View Full Code Here

TOP

Related Classes of com.itextpdf.text.pdf.PdfReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.