diff options
| author | knowcenter <knowcenter@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2007-03-02 08:25:07 +0000 | 
|---|---|---|
| committer | knowcenter <knowcenter@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c> | 2007-03-02 08:25:07 +0000 | 
| commit | ade592d842b1880b7f01b1c6ad4b382569d67014 (patch) | |
| tree | 875e2c857b0715e7113987ed03513033aec893f6 /src/main | |
| parent | 713a5a31d7ec4b02b6ca137404ea7f261d02254c (diff) | |
| download | pdf-as-3-ade592d842b1880b7f01b1c6ad4b382569d67014.tar.gz pdf-as-3-ade592d842b1880b7f01b1c6ad4b382569d67014.tar.bz2 pdf-as-3-ade592d842b1880b7f01b1c6ad4b382569d67014.zip | |
now its posible to calculate pagelength of arbitrary page
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@40 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java index 05854dd..5384a8c 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFUtilities.java @@ -35,9 +35,47 @@ import com.lowagie.text.DocumentException;   * Contains useful helpers for accessing PDF documents.
   * 
   * @author wprinz
 + * @author mruhmer
   */
  public abstract class PDFUtilities
  {
 +	  public static float calculatePageLength(final byte[] pdf,int page ,float footer_line) throws PDFDocumentException
 +	  {
 +	    try
 +	    {
 +	      ByteArrayInputStream original_bais = new ByteArrayInputStream(pdf);
 +	      byte [] normalized_pdf = TextualSignature.normalizePDF(original_bais);
 +	      
 +	      ByteArrayInputStream bais = new ByteArrayInputStream(normalized_pdf);
 +
 +	      PDFParser parser = new PDFParser(bais);
 +	      File temporary_dir = SettingsReader.getTemporaryDirectory();
 +	      parser.setTempDirectory(temporary_dir);
 +	      parser.parse();
 +
 +	      PDDocument pdfDocument_ = parser.getPDDocument();
 +	      float page_length = calculatePageLength(pdfDocument_,page , footer_line);
 +	      pdfDocument_.close();
 +	      return page_length;
 +	    }
 +	    catch (IOException e)
 +	    {
 +	      throw new PDFDocumentException(201, e);
 +	    }
 +	    catch (DocumentException e)
 +	    {
 +	      throw new PDFDocumentException(201, e);
 +	    }
 +	  }	
 +	  public static float calculatePageLength(PDDocument document,int page ,float footer_line) throws IOException
 +	  {
 +	    //int last_page_id = document.getNumberOfPages();
 +	    List allPages = document.getDocumentCatalog().getAllPages();
 +	    PDPage pdpage = (PDPage) allPages.get(page);
 +
 +	    return calculatePageLength(pdpage, footer_line);
 +	  }	
 +	
    public static float calculateLastPageLength(final byte[] pdf, float footer_line) throws PDFDocumentException
    {
      try
 | 
