Class TiffFileHelper

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

public class TiffFileHelper
extends java.lang.Object

Überschrift: TiffFileHelper.

Beschreibung: Hilfsmethoden für TIFF-Dateien.

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

  • Constructor Summary

    Constructors
    Constructor Description
    TiffFileHelper()  
  • Method Summary

    Modifier and Type Method Description
    static void appendPictureToTiff​(java.io.File sourceFile, java.io.File targetFile, boolean appendStart)
    Fügt das Bild am Anfang oder am Ende der angegebenen Datei ein.
    static java.lang.String getExifTag​(java.io.File sourceFile, java.lang.String tagName)
    Liefert den Wert eines EXIF-Tags zurück.
    static java.util.Enumeration<java.lang.String> getExifTagNames​(java.io.File sourceFile)
    Liefert eine Liste mit den EXIF-Tags zurück.
    static java.lang.String getImageFormats()
    Liefert einen String mit allen ImageReader-Formaten (getrennt durch ein Komma) zurück.
    static int getNumBarcodeImages​(IXconnect ixConnect, java.io.File file)
    Liefert die Anzahl der Barcodeseiten in der angegebenen Datei zurück.
    static int getNumBlankImages​(java.io.File file)
    Liefert die Anzahl der Leerseiten in der angegebenen Datei zurück.
    static int getNumImages​(java.io.File file)
    Liefert die Anzahl der Images zurück.
    static int getNumSeparatorImages​(java.io.File file)
    Liefert die Anzahl der Trennseiten in der angegebenen Datei zurück.
    static java.awt.image.BufferedImage getPage​(java.io.File imageFile, int page)
    Liefert die angegebene Dokumentenseite der Bilddatei zurück.
    static boolean hasTiffExtension​(java.io.File file)
    Meldet zurück, ob die angegebene Datei eine TIFF-Dateiendung hat.
    static void insertPictureInTiff​(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 insertTextInTiff​(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 angegebenen Text in der angegebenen TIFF-Datei ein.
    static void insertTextInTiff2​(java.lang.String text, java.io.File targetFile, int page, int x, int y, int textSize, java.lang.String textFont, int colorRed, int colorGreen, int colorBlue, float transpar, int skew)
    Fügt den angegebenen Text in der angegebenen TIFF-Datei ein.
    static boolean isAllTiffs​(java.util.List<java.io.File> files)
    Liefert true zurück, wenn die angegebene Liste nur TIFF-Dateien enthält.
    static boolean isLandscape​(java.io.File tiffFile)
    Meldet zurück, ob die angegebene TIFF-Datei ein Querformat hat.
    static boolean isTiff​(java.io.File file)
    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.
    static java.io.File joinTiffFiles​(java.io.File sourceFile, java.io.File targetFile)
    Hängt das Bild an die angegebene Datei an.
    static void removePage​(java.io.File imageFile, int page)
    Löscht die Seite in der angegebenen Datei.
    static void saveFilePage​(java.io.File sourceTiffFile, int pageNr, java.io.File targetFile)
    Speichert die Seite der TIFF-Datei in der angegebenen Zieldatei.
    static void savePdfAsTiff​(java.io.File pdfFile, java.io.File tiffFile)
    Speichert die PDF-Datei in der angegebenen TIFF-Datei.
    static void saveTiffAsPdf​(java.io.File sourceFile, java.io.File targetFile)
    Speichert die TIFF-Datei in der angegebenen PDF-Datei.
    static java.io.File[] writeImages​(java.lang.Iterable<WriteableImage> images, java.util.Iterator<java.io.File> iterator)
    Schreibt eine Liste von Images in gleichviele Dateien.
    static java.io.File[] writeImagesByPage​(IXconnect ixConnect, java.lang.Iterable<WriteableImage> images, java.util.Iterator<java.io.File> iterator, SplitHelper.SPLIT_CONDITION splitCondition)
    Schreibt eine Liste von Images in Ausgabedateien.
    static void writeImagesToFile​(java.lang.Iterable<WriteableImage> images, java.io.File file)
    Schreibt mehrere Bilder als Seiten in eine Datei.

    Methods inherited from class java.lang.Object

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

    • TiffFileHelper

      public TiffFileHelper()
  • Method Details

    • getNumImages

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

      public static boolean isTiff​(java.io.File file) throws java.io.IOException, java.lang.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:
      java.io.IOException
      java.lang.Exception
    • hasTiffExtension

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

      public static boolean isAllTiffs​(java.util.List<java.io.File> files) throws java.lang.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:
      java.lang.Exception
    • getNumBlankImages

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

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

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

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

      public static java.io.File[] writeImagesByPage​(IXconnect ixConnect, java.lang.Iterable<WriteableImage> images, java.util.Iterator<java.io.File> iterator, SplitHelper.SPLIT_CONDITION splitCondition) throws java.io.IOException, java.lang.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:
      java.io.IOException
      java.lang.Exception
    • writeImagesToFile

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

      public static void insertPictureInTiff​(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
    • appendPictureToTiff

      public static void appendPictureToTiff​(java.io.File sourceFile, java.io.File targetFile, boolean appendStart) throws java.io.IOException, java.lang.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:
      java.io.IOException
      java.lang.Exception
    • joinTiffFiles

      public static java.io.File joinTiffFiles​(java.io.File sourceFile, java.io.File targetFile) throws java.io.IOException, java.lang.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:
      java.io.IOException
      java.lang.Exception
    • insertTextInTiff

      public static void insertTextInTiff​(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 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:
      java.lang.Exception
    • insertTextInTiff2

      public static void insertTextInTiff2​(java.lang.String text, java.io.File targetFile, int page, int x, int y, int textSize, java.lang.String textFont, int colorRed, int colorGreen, int colorBlue, float transpar, int skew) throws java.lang.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:
      java.lang.Exception
    • saveTiffAsPdf

      public static void saveTiffAsPdf​(java.io.File sourceFile, java.io.File targetFile) throws java.io.IOException, java.lang.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:
      java.io.IOException
      java.lang.Exception
    • savePdfAsTiff

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

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

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

      public static java.lang.String getExifTag​(java.io.File sourceFile, java.lang.String tagName) throws java.lang.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:
      java.lang.Exception - Wenn das Dokument nicht gelesen werden kann
    • getExifTagNames

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

      public static java.lang.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​(java.io.File sourceTiffFile, int pageNr, java.io.File targetFile) throws java.lang.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:
      java.lang.Exception
    • isLandscape

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