Class PdfFileHelper

java.lang.Object
de.elo.mover.main.pdf.PdfFileHelper

public class PdfFileHelper
extends java.lang.Object

Überschrift: PdfFileHelper.

Beschreibung: Hilfsmethoden für PDF-Dateien.

Copyright: Copyright (c) ELO Digital Office GmbH 2018 - 2021

  • Constructor Summary

    Constructors
    Constructor Description
    PdfFileHelper()  
  • Method Summary

    Modifier and Type Method Description
    static void addFileAttachment​(java.io.File pdfFile, java.io.File attachFile, java.lang.String attachName)
    Fügt die Datei als Anhang in der PDF-Datei ein.
    static void appendPdfToPdf​(java.io.File sourceFile, java.io.File targetFile, boolean appendStart)
    Hängt die PDF-Datei an der angegebenen PDF-Datei an.
    static java.util.ArrayList<java.io.File> exportFileAttachments​(java.io.File pdfFile, java.io.File targetDir)
    Extrahiert die Dateianhänge der angegebenen PDF-Datei im angegebenen Verzeichnis und liefert die Liste mit den Anhängen zurück.
    static java.awt.Dimension getDefaultResolution()
    Liefert die Default-Auflösung (300 dpi) für PDF-Dateien zurück.
    static java.util.HashMap<java.lang.String,​java.lang.String> getMetadata​(java.io.File pdfFile)
    Liefert eine HashMap mit den Metadaten der angegebenen PDF-Datei zurück.
    static int getNumberOfPages​(java.io.File pdfFile)
    Liefert die Seitenanzahl der angegebenen PDF-Datei zurück.
    static java.awt.image.BufferedImage getPage​(java.io.File pdfFile, int page)
    Liefert die angegebene Dokumentenseite der PDF-Datei zurück.
    static java.awt.Dimension getPageResolution​(java.io.File pdfFile, int page)
    Liefert die Auflösung der angegebenen PDF-Seite zurück.
    static java.lang.String getPdfFilePageText​(java.io.File file, int page)
    Liefert den Text aus der angegebenen PDF-Seite zurück.
    static java.lang.String getPdfFileText​(java.io.File file)
    Liefert den Text der angegebenen PDF-Datei als String zurück.
    static java.awt.Dimension getResolution​(java.io.File pdfFile)
    Liefert die Auflösung der angegebenen PDF-Datei zurück.
    static boolean hasPdfExtension​(java.io.File file)
    Meldet zurück, ob die angegebene Datei eine PDF-Dateiendung hat.
    static void insertPictureInPdf​(java.io.File sourceFile, java.io.File targetFile, int page, int x, int y)
    Fügt das angegebene Bild in der angegebenen Datei ein.
    static void insertPictureInPdf2​(java.io.File sourceFile, java.io.File targetFile, int page, int x, int y, int width, int height)
    Fügt das angegebene Bild in der angegebenen PDF-Datei ein.
    static void insertTextInPdf​(java.lang.String text, java.io.File targetFile, int page, int x, int y, int textSize, int colorRed, int colorGreen, int colorBlue, float transpar, int skew)
    Fügt den Text in der angegebenen PDF-Datei ein.
    static void insertTextInPdf2​(java.lang.String text, java.io.File targetFile, int page, int x, int y, int textSize, java.io.File textFontFile, int colorRed, int colorGreen, int colorBlue, float transpar, int skew)
    Fügt den Text in der angegebenen PDF-Datei ein.
    static boolean isAllPdfs​(java.util.List<java.io.File> files)
    Liefert true zurück, wenn die Liste nur PDF-Dateien enthält.
    static boolean isSignedPdfFile​(java.io.File pdfFile)
    Meldet zurück, ob die angegebene PDF-Datei signiert ist.
    static void mergePdfFiles​(java.io.File[] sourcePdfFiles, java.io.File outputFile)
    Klammert die angegebenen PDF-Dateien in der angegebenen Ausgabedatei.
    static void removePage​(java.io.File pdfFile, int page)
    Löscht die Seite in der angegebenen Datei.
    static void saveFilePage​(java.io.File sourcePdfFile, int pageNr, java.io.File targetFile)
    Speichert die Seite der PDF-Datei in der angegebenen Zieldatei.
    static void setCropBox​(java.io.File pdfFile, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY)
    Setzt den angegebenen abzuschneidenden Rechteck für alle Dokumentseiten.
    static java.io.File[] splitPdfFile​(java.io.File pdfFile)
    Entklammert die angegebene PDF-Datei und liefert eine Liste mit einseitigen Dateien oder null zurück.
    static java.io.File[] splitPdfFileBySeparPage​(java.io.File pdfFile)
    Trennt die angegebene PDF-Datei nach ELO-Trennseiten und liefert eine Liste mit den Ergebnisdateien zurück.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PdfFileHelper

      public PdfFileHelper()
  • Method Details

    • mergePdfFiles

      public static void mergePdfFiles​(java.io.File[] sourcePdfFiles, java.io.File outputFile) throws java.io.IOException, java.lang.Exception
      Klammert die angegebenen PDF-Dateien in der angegebenen Ausgabedatei.
      Parameters:
      sourcePdfFiles - Liste mit PDF-Dateien
      outputFile - Ausgabedatei
      Throws:
      java.io.IOException
      java.lang.Exception
    • splitPdfFile

      public static java.io.File[] splitPdfFile​(java.io.File pdfFile) throws java.io.IOException, java.lang.Exception
      Entklammert die angegebene PDF-Datei und liefert eine Liste mit einseitigen Dateien oder null zurück.
      Parameters:
      pdfFile - PDF-Datei
      Returns:
      Liste mit einseitigen PDF-Dateien
      Throws:
      java.io.IOException
      java.lang.Exception
    • splitPdfFileBySeparPage

      public static java.io.File[] splitPdfFileBySeparPage​(java.io.File pdfFile) throws java.lang.Exception
      Trennt die angegebene PDF-Datei nach ELO-Trennseiten und liefert eine Liste mit den Ergebnisdateien zurück.
      Parameters:
      pdfFile - PDF-Datei
      Returns:
      Liste mit getrennten PDF-Dateien
      Throws:
      java.lang.Exception
    • hasPdfExtension

      public static boolean hasPdfExtension​(java.io.File file) throws java.lang.Exception
      Meldet zurück, ob die angegebene Datei eine PDF-Dateiendung hat.
      Parameters:
      file - Datei
      Returns:
      Datei hat die Dateiendung pdf
      Throws:
      java.lang.Exception
    • isAllPdfs

      public static boolean isAllPdfs​(java.util.List<java.io.File> files) throws java.lang.Exception
      Liefert true zurück, wenn die Liste nur PDF-Dateien enthält.
      Parameters:
      files - Liste mit Dateien
      Returns:
      Nur PDF-Dateien enthalten
      Throws:
      java.lang.Exception
    • insertPictureInPdf

      public static void insertPictureInPdf​(java.io.File sourceFile, java.io.File targetFile, int page, int x, int y) throws java.io.IOException, java.lang.Exception
      Fügt das angegebene Bild in der angegebenen Datei ein.
      Parameters:
      sourceFile - Datei, die eingebettet wird
      targetFile - Zieldatei
      page - Dokumentenseite, in der die angegebene Datei eingebettet wird
      x - Relative x-Position (Eingabe zwischen 0 und 1000)
      y - Relative y-Position (Eingabe zwischen 0 und 1000)
      Throws:
      java.io.IOException
      java.lang.Exception
    • insertPictureInPdf2

      public static void insertPictureInPdf2​(java.io.File sourceFile, java.io.File targetFile, int page, int x, int y, int width, int height) throws java.io.IOException, java.lang.Exception
      Fügt das angegebene Bild in der angegebenen PDF-Datei ein.
      Parameters:
      sourceFile - Datei, die eingebettet wird
      targetFile - Zieldatei
      page - Dokumentenseite, in der die angegebene Datei eingebettet wird
      x - Relative x-Position (Eingabe zwischen 0 und 1000)
      y - Relative y-Position (Eingabe zwischen 0 und 1000)
      width - Breite des Bildes
      height - Höhe des Bildes
      Throws:
      java.io.IOException
      java.lang.Exception
    • insertTextInPdf

      public static void insertTextInPdf​(java.lang.String text, java.io.File targetFile, int page, int x, int y, int textSize, int colorRed, int colorGreen, int colorBlue, float transpar, int skew) throws java.lang.Exception
      Fügt den Text in der angegebenen PDF-Datei ein.
      Parameters:
      text - Einzufügender Text
      targetFile - PDF-Datei, in der der Text eingefügt wird
      page - Dokumentenseite, in der der Text eingefügt wird
      x - Relative x-Position (Eingabe zwischen 0 und 1000)
      y - Relative y-Position (Eingabe zwischen 0 und 1000)
      textSize - Textgröße
      colorRed - Anteil der roten Farbe (Eingabe zwischen 0 und 255)
      colorGreen - Anteil der grünen Farbe (Eingabe zwischen 0 und 255)
      colorBlue - Anteil der blauen Farbe (Eingabe zwischen 0 und 255)
      transpar - Transparenz (Eingabe zwischen 0 und 1)
      skew - Drehwinkel
      Throws:
      java.lang.Exception
    • insertTextInPdf2

      public static void insertTextInPdf2​(java.lang.String text, java.io.File targetFile, int page, int x, int y, int textSize, java.io.File textFontFile, int colorRed, int colorGreen, int colorBlue, float transpar, int skew) throws java.lang.Exception
      Fügt den Text in der angegebenen PDF-Datei ein.
      Parameters:
      text - Einzufügender Text
      targetFile - PDF-Datei, in der der Text eingefügt wird
      page - Dokumentenseite, in der der Text eingefügt wird
      x - Relative x-Position (Eingabe zwischen 0 und 1000)
      y - Relative y-Position (Eingabe zwischen 0 und 1000)
      textSize - Textgröße
      textFontFile - Datei mit der Schriftart
      colorRed - Anteil der roten Farbe (Eingabe zwischen 0 und 255)
      colorGreen - Anteil der grünen Farbe (Eingabe zwischen 0 und 255)
      colorBlue - Anteil der blauen Farbe (Eingabe zwischen 0 und 255)
      transpar - Transparenz (Eingabe zwischen 0 und 1)
      skew - Drehwinkel
      Throws:
      java.lang.Exception
    • getPdfFileText

      public static java.lang.String getPdfFileText​(java.io.File file) throws java.io.IOException, java.lang.Exception
      Liefert den Text der angegebenen PDF-Datei als String zurück.
      Parameters:
      file - PDF-Datei
      Returns:
      Text in der Datei
      Throws:
      java.io.IOException
      java.lang.Exception
    • getPdfFilePageText

      public static java.lang.String getPdfFilePageText​(java.io.File file, int page) throws java.io.IOException, java.lang.Exception
      Liefert den Text aus der angegebenen PDF-Seite zurück.
      Parameters:
      file - PDF-Datei
      page - Dokumentseite
      Returns:
      Text aus der Dokumentseite
      Throws:
      java.io.IOException
      java.lang.Exception
    • appendPdfToPdf

      public static void appendPdfToPdf​(java.io.File sourceFile, java.io.File targetFile, boolean appendStart) throws java.lang.Exception
      Hängt die PDF-Datei an der angegebenen PDF-Datei an.
      Parameters:
      sourceFile - PDF-Datei, die angehängt wird
      targetFile - Ziel-Datei, an der die PDF-Datei angehängt wird
      appendStart - Am Dokumentanfang anhängen
      Throws:
      java.lang.Exception
    • getNumberOfPages

      public static int getNumberOfPages​(java.io.File pdfFile) throws java.lang.Exception
      Liefert die Seitenanzahl der angegebenen PDF-Datei zurück.
      Parameters:
      pdfFile - PDF-Datei
      Returns:
      Seitenanzahl
      Throws:
      java.lang.Exception
    • removePage

      public static void removePage​(java.io.File pdfFile, int page) throws java.lang.Exception
      Löscht die Seite in der angegebenen Datei.
      Parameters:
      pdfFile - PDF-Datei
      page - Seite
      Throws:
      java.lang.Exception
    • getResolution

      public static java.awt.Dimension getResolution​(java.io.File pdfFile) throws java.lang.Exception
      Liefert die Auflösung der angegebenen PDF-Datei zurück.
      Parameters:
      pdfFile - PDF-Datei
      Returns:
      Auflösung der Datei
      Throws:
      java.lang.Exception
    • getPageResolution

      public static java.awt.Dimension getPageResolution​(java.io.File pdfFile, int page) throws java.lang.Exception
      Liefert die Auflösung der angegebenen PDF-Seite zurück.
      Parameters:
      pdfFile - PDF-Datei
      page - Dokumentseite (beginnend bei 1)
      Returns:
      Auflösung der Dokumentseite
      Throws:
      java.lang.Exception
    • getDefaultResolution

      public static java.awt.Dimension getDefaultResolution()
      Liefert die Default-Auflösung (300 dpi) für PDF-Dateien zurück.
      Returns:
      Default-Auflösung
    • addFileAttachment

      public static void addFileAttachment​(java.io.File pdfFile, java.io.File attachFile, java.lang.String attachName) throws java.lang.Exception
      Fügt die Datei als Anhang in der PDF-Datei ein.
      Parameters:
      pdfFile - PDF-Datei
      attachFile - Anhangdatei
      attachName - Name des Dateianhangs (ohne die Dateiendung)
      Throws:
      java.lang.Exception
    • exportFileAttachments

      public static java.util.ArrayList<java.io.File> exportFileAttachments​(java.io.File pdfFile, java.io.File targetDir) throws java.lang.Exception
      Extrahiert die Dateianhänge der angegebenen PDF-Datei im angegebenen Verzeichnis und liefert die Liste mit den Anhängen zurück.
      Parameters:
      pdfFile - PDF-Datei
      targetDir - Zielverzeichnis
      Returns:
      Liste mit den Dateianhängen
      Throws:
      java.lang.Exception
    • getPage

      public static java.awt.image.BufferedImage getPage​(java.io.File pdfFile, int page) throws java.lang.Exception
      Liefert die angegebene Dokumentenseite der PDF-Datei zurück.
      Parameters:
      pdfFile - PDF-Datei
      page - Nummer der Dokumentenseite
      Returns:
      Dokumentenseite als BufferedImage
      Throws:
      java.lang.Exception
    • setCropBox

      public static void setCropBox​(java.io.File pdfFile, float lowerLeftX, float lowerLeftY, float upperRightX, float upperRightY) throws java.lang.Exception
      Setzt den angegebenen abzuschneidenden Rechteck für alle Dokumentseiten.
      Parameters:
      pdfFile - PDF-Datei
      lowerLeftX - Untere linke horizontale Position
      lowerLeftY - Untere linke vertikale Position
      upperRightX - Obere rechte horizontale Position
      upperRightY - Obere rechte vertikale Position
      Throws:
      java.lang.Exception
    • saveFilePage

      public static void saveFilePage​(java.io.File sourcePdfFile, int pageNr, java.io.File targetFile) throws java.lang.Exception
      Speichert die Seite der PDF-Datei in der angegebenen Zieldatei.
      Parameters:
      sourcePdfFile - PDF-Datei, deren Seite gespeichert wird
      pageNr - Nummer der Dokumentenseite
      targetFile - Zieldatei
      Throws:
      java.lang.Exception
    • getMetadata

      public static java.util.HashMap<java.lang.String,​java.lang.String> getMetadata​(java.io.File pdfFile) throws java.lang.Exception
      Liefert eine HashMap mit den Metadaten der angegebenen PDF-Datei zurück.
      Parameters:
      pdfFile - PDF-Datei
      Returns:
      HashMap mit den Metadaten
      Throws:
      java.lang.Exception
    • isSignedPdfFile

      public static boolean isSignedPdfFile​(java.io.File pdfFile) throws java.lang.Exception
      Meldet zurück, ob die angegebene PDF-Datei signiert ist.
      Parameters:
      pdfFile - PDF-Datei
      Returns:
      PDF-Datei ist signiert
      Throws:
      java.lang.Exception