Class TiffFileHelper

java.lang.Object
de.elo.mover.main.tiff.TiffFileHelper

public class TiffFileHelper extends Object

Überschrift: TiffFileHelper.

Beschreibung: Hilfsmethoden für TIFF-Dateien.

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

  • Constructor Details

    • TiffFileHelper

      public TiffFileHelper()
  • Method Details

    • getNumImages

      public static int getNumImages(File file) throws IOException, Exception
      Liefert die Anzahl der Images zurück.
      Parameters:
      file - Quelldatei
      Returns:
      Anzahl der Images
      Throws:
      IOException
      Exception
    • isTiff

      public static boolean isTiff(File file) throws IOException, Exception
      Sniffs an incoming byte array to see if the starting value is 0x4949 (little endian) or 0x4D4D (big endian) which is the "header" for TIFF data The TIFF standards supports both endians. See http://palimpsest.stanford.edu/bytopic/imaging/std/tiff5.html for more details. Note: This method only really needs the first 2 bytes.
      Parameters:
      file - Datei
      Returns:
      TIFF-Datei
      Throws:
      IOException
      Exception
    • hasTiffExtension

      public static boolean hasTiffExtension(File file) throws Exception
      Meldet zurück, ob die angegebene Datei eine TIFF-Dateiendung hat.
      Parameters:
      file - Datei
      Returns:
      Datei hat die Dateiendung "tif" oder "tiff"
      Throws:
      Exception
    • isAllTiffs

      public static boolean isAllTiffs(List<File> files) throws Exception
      Liefert true zurück, wenn die angegebene Liste nur TIFF-Dateien enthält.
      Parameters:
      files - Liste mit Dateien
      Returns:
      Nur TIFF-Dateien enthalten
      Throws:
      Exception
    • getNumBlankImages

      public static int getNumBlankImages(File file) throws Exception
      Liefert die Anzahl der Leerseiten in der angegebenen Datei zurück.
      Parameters:
      file - TIFF-Datei
      Returns:
      Anzahl der Leerseiten
      Throws:
      Exception
    • getNumSeparatorImages

      public static int getNumSeparatorImages(File file) throws Exception
      Liefert die Anzahl der Trennseiten in der angegebenen Datei zurück.
      Parameters:
      file - TIFF-Datei
      Returns:
      Anzahl der Trennseiten
      Throws:
      Exception
    • getNumBarcodeImages

      public static int getNumBarcodeImages(IXconnect ixConnect, File file) throws Exception
      Liefert die Anzahl der Barcodeseiten in der angegebenen Datei zurück.
      Parameters:
      ixConnect - Indexserver-Verbindung
      file - TIFF-Datei
      Returns:
      Anzahl der Barcodeseiten
      Throws:
      Exception
    • writeImages

      public static File[] writeImages(Iterable<WriteableImage> images, Iterator<File> iterator) throws IOException, Exception
      Schreibt eine Liste von Images in gleichviele Dateien.
      Parameters:
      images - Liste mit Images
      iterator - Iterator
      Returns:
      Liste mit Dateien
      Throws:
      IOException
      Exception
    • writeImagesByPage

      public static File[] writeImagesByPage(IXconnect ixConnect, Iterable<WriteableImage> images, Iterator<File> iterator, SplitHelper.SPLIT_CONDITION splitCondition) throws IOException, Exception
      Schreibt eine Liste von Images in Ausgabedateien. Das letzte Parameter enthält die Bedingung für das Trennen der Datei.
      Parameters:
      ixConnect - Indexserver-Verbindung oder null, wenn nicht benötigt
      images - Liste mit Images
      iterator - Iterator für die Ausgabedateien
      splitCondition - Bedingung für das Trennen der Datei
      Returns:
      Liste mit getrennten Dateien
      Throws:
      IOException
      Exception
    • writeImagesToFile

      public static void writeImagesToFile(Iterable<WriteableImage> images, File file) throws IOException, Exception
      Schreibt mehrere Bilder als Seiten in eine Datei.
      Parameters:
      images - Liste mit Images
      file - Datei
      Throws:
      IOException
      Exception
    • insertPictureInTiff

      public static void insertPictureInTiff(File sourceFile, File targetFile, int page, int x, int y) throws IOException, 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:
      IOException
      Exception
    • appendPictureToTiff

      public static void appendPictureToTiff(File sourceFile, File targetFile, boolean appendStart) throws IOException, Exception
      Fügt das Bild am Anfang oder am Ende der angegebenen Datei ein.
      Parameters:
      sourceFile - Bild, das angehängt wird
      targetFile - Zieldatei, an der das Bild angehängt wird
      appendStart - Am Dokumentanfang anfügen
      Throws:
      IOException
      Exception
    • joinTiffFiles

      public static File joinTiffFiles(File sourceFile, File targetFile) throws IOException, Exception
      Hängt das Bild an die angegebene Datei an.
      Parameters:
      sourceFile - Bild, das angehängt wird
      targetFile - Zieldatei, an der das Bild angehängt wird
      Returns:
      Ergebnisdatei
      Throws:
      IOException
      Exception
    • insertTextInTiff

      public static void insertTextInTiff(String text, File targetFile, int page, int x, int y, int textSize, int colorRed, int colorGreen, int colorBlue, float transpar, int skew) throws Exception
      Fügt den angegebenen Text in der angegebenen TIFF-Datei ein.
      Parameters:
      text - Text, der eingefügt wird
      targetFile - Datei, in der der Text eingefügt wird
      page - Dokumentseite, 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 (Eingabe zwischen 0 und 1)
      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
      skew - Drehwinkel
      Throws:
      Exception
    • insertTextInTiff2

      public static void insertTextInTiff2(String text, File targetFile, int page, int x, int y, int textSize, String textFont, int colorRed, int colorGreen, int colorBlue, float transpar, int skew) throws Exception
      Fügt den angegebenen Text in der angegebenen TIFF-Datei ein.
      Parameters:
      text - Text, der eingefügt wird
      targetFile - Datei, in der der Text eingefügt wird
      page - Dokumentseite, 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 (Eingabe zwischen 0 und 1)
      textFont - Schriftart vom Text oder null
      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
      skew - Drehwinkel
      Throws:
      Exception
    • saveTiffAsPdf

      public static void saveTiffAsPdf(File sourceFile, File targetFile) throws Exception
      Speichert die TIFF-Datei in der angegebenen PDF-Datei.
      Parameters:
      sourceFile - TIFF-Datei, die nach PDF konvertiert wird
      targetFile - PDF-Datei mit dem Konvertierungsergebnis
      Throws:
      IOException
      Exception
    • savePdfAsTiff

      public static void savePdfAsTiff(File pdfFile, File tiffFile) throws IOException, Exception
      Speichert die PDF-Datei in der angegebenen TIFF-Datei.
      Parameters:
      pdfFile - PDF-Datei
      tiffFile - TIFF-Datei
      Throws:
      IOException
      Exception
    • getPage

      public static BufferedImage getPage(File imageFile, int page) throws IOException, Exception
      Liefert die angegebene Dokumentenseite der Bilddatei zurück.
      Parameters:
      imageFile - Bilddatei
      page - Nummer der Dokumentenseite
      Returns:
      Dokumentenseite
      Throws:
      IOException
      Exception
    • removePage

      public static void removePage(File imageFile, int page) throws Exception
      Löscht die Seite in der angegebenen Datei.
      Parameters:
      imageFile - Bilddatei
      page - Zu löschende Seite
      Throws:
      Exception
    • getExifTag

      public static String getExifTag(File sourceFile, String tagName) throws Exception
      Liefert den Wert eines EXIF-Tags zurück.
      Parameters:
      sourceFile - Zu analysierende TIFF/JPEG-Datei
      tagName - Name des EXIF-Tags
      Returns:
      Wert des EXIF-Tags
      Throws:
      Exception - Wenn das Dokument nicht gelesen werden kann
    • getExifTagNames

      public static Enumeration<String> getExifTagNames(File sourceFile) throws Exception
      Liefert eine Liste mit den EXIF-Tags zurück.
      Parameters:
      sourceFile - Zu analysierende TIFF/JPEG-Datei
      Returns:
      Enumeration der EXIF-Tag Namen
      Throws:
      Exception - Wenn das Dokument nicht gelesen werden kann
    • getImageFormats

      public static String getImageFormats()
      Liefert einen String mit allen ImageReader-Formaten (getrennt durch ein Komma) zurück.
      Returns:
      String mit ImageReader-Formaten
    • saveFilePage

      public static void saveFilePage(File sourceTiffFile, int pageNr, File targetFile) throws Exception
      Speichert die Seite der TIFF-Datei in der angegebenen Zieldatei.
      Parameters:
      sourceTiffFile - TIFF-Datei, deren Seite gespeichert wird
      pageNr - Nummer der Dokumentenseite
      targetFile - Zieldatei
      Throws:
      Exception
    • isLandscape

      public static boolean isLandscape(File tiffFile) throws Exception
      Meldet zurück, ob die angegebene TIFF-Datei ein Querformat hat.
      Parameters:
      tiffFile - TIFF-Datei
      Returns:
      TIFF-Datei im Querformat
      Throws:
      Exception