Class TiffFileHelper


  • public class TiffFileHelper
    extends java.lang.Object

    Überschrift: TiffFileHelper.

    Beschreibung: Hilfsmethoden für TIFF-Dateien.

    Copyright: Copyright (c) ELO Digital Office GmbH 2018

    • Constructor Summary

      Constructors 
      Constructor Description
      TiffFileHelper()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      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 einen 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 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 Detail

      • TiffFileHelper

        public TiffFileHelper()
    • Method Detail

      • 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 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 - Index Server 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 - Index Server 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
      • 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 einen Querformat hat.
        Parameters:
        tiffFile - TIFF-Datei
        Returns:
        TIFF-Datei im Querformat
        Throws:
        java.lang.Exception