Benutzer mit den meisten Antworten
Dokumente in TIFF-Format in .NET-Applikation übernehmen und anzeigen

Frage
-
Hallo
Ich habe eine Frage zu TIFF-Format - Dokumenten.
In einer bestehenden (nicht .NET-Anwendung) werden Dokumente gescannt und in TIFF-Format in einer Datenbank abgespeichert. Jetzt soll eine Datenübernahmen stattfinden, und die neue Applikation ist in .NET entwickelt. In der alten Applikation wurde ein externes (bereits sehr altes) Tool als OCX eingebunden, in dem die TIFF-Dokumente dargestellt werden können.
Was kann ich mit den TIFF-Dokumenten in der .NET-Anwendung machen
-) mit was darstellen - ohne auf ein externes Tool oder eine externe Komponente zugreifen zu müssen?
-) oder ist eine Konvertierung in ein anderes Format während der Übernahme möglich - - und dann mit einer der angebotenen .NET-Controls anzuzeigen.
Vielleicht hat hier jemand eine Idee dazu, oder eventuell schon selbst Erfahrung damit gemacht.
Danke schon mal für Eure Unterstützung & schönen Gruß
Michael
Michael Erlinger
Antworten
-
Wenn ein geringer Qualitätsverlust ok ist, dann geht JPG natürlich. Speziell wie man an die Byte-Daten für die DB heran kommt kann ich dir nicht sagen, aber es gibt auch De/Encoder für JPEG.
http://msdn.microsoft.com/de-de/library/vstudio/system.windows.media.imaging.jpegbitmapdecoder.aspx
(außerdem für PNG, BMP, WMP und GIF)
Umkodieren müsste über die Frame-Eigenschaften der De/Encoder-Klassen funktionieren.Das speichern in die DB könnte vielleicht wieder mithilfe eines Stream gehen.
<Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite | Code Beispiele | Facebook | Twitter | Snippets C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert M.Erlinger Dienstag, 23. Juli 2013 06:20
-
Hallo Michael,
TIFF unterstützt je nach Format - es gibt auch proprietäre - Features, die JPEG nicht kennt, so z. B. Transparenz, mehrere Seiten (für Fax genutzt) uam.
Weswegen eine Konvertierung in JPEG oder andere Formate gut überlegt sein will, denn es kann damit Datenverlust einhergehen. Die meisten Konverter werden nur Basisinformationen erkennen und verarbeiten und alles andere verwerfen.
Sollten die TIFF Dateien nicht komprimiert sein, kann helfen, sie in ein ZIP zu packen, wenn denn die Größe wichtig ist.
Gruß Elmar
- Als Antwort markiert M.Erlinger Dienstag, 23. Juli 2013 06:20
-
Hallo zusammen,
noch ein kleiner Hinweis: Falls die Zeit und die Ressourcen für das Projekt knapp sind, könnte man auch an eine Drittherstellerkomponente denken. In den Zeiten von Office 2003 hatte ich gern mit der frei verfügbaren Microsoft Office Document Imaging-Komponente gearbeitet. Seit MODI aber in späteren Office-Versionen aufgegeben wurde, bin ich auf VintaSoft Imaging .NET SDK umgestiegen und habe sehr gute Erfahrungen damit gemacht. In der günstigeren Version - ohne PDF-Plugins etc. - kann es u.a. TIFFs in den verschiedensten Formaten und Komprimierungseinstellungen laden, professionell anzeigen und auch manipulieren (und hat eine ganze Menge anderer Zusatzfeatures noch). Aufwandsmäßig liegt man da beim Gegenwert weniger Programmierstunden, das sollte den Kunden schon mal begeistern.
Gruß
Marcel
- Als Antwort markiert M.Erlinger Dienstag, 23. Juli 2013 06:19
Alle Antworten
-
Hallo, wenn du/ihr mit WPF arbeitest, hast du eigentlich keine Probleme. Es gibt eine Klasse zum dekodieren von Tiff-Bildern:
http://msdn.microsoft.com/de-de/library/vstudio/system.windows.media.imaging.tiffbitmapencoder.aspxAnzeigen kannst du das Bild dann beispielsweise in einem Image-Control:
http://msdn.microsoft.com/de-de/library/system.windows.controls.image.aspxMit etwas formatieren der Daten kannst du diese Funktionalitäten auch in WinForms benutzen.
Letzten Endes könntest du auch die OCX-Komponente nutzen, aber davon weg zu kommen hat nur Vorteile.
<Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite | Code Beispiele | Facebook | Twitter | Snippets C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke. -
Hallo
Danke für Deine rasche Rückmeldung!
Wenn es mit dem Image-Control auch zum Ansehen geht, dann ist ja eigentlich eh schon alles gesagt.
Eine Frage noch - ich habe in der Zwischenzeit mit der Datei-Größe etwas verglichen. Die zu übernehmenden Daten sind doch einige GB große Datenbank. Wenn ich mir so eine TIF-Datei ansehe, hat die im Schnitt 6 MB; wenn ich diese Datei im Paint auf eine JPG-Datei konvertiere, hat diese nur 700KB.
Jetzt stellt sich die Frage, ob es nicht überhaupt sinnvoller ist, die TIF-Dateien zu konvertieren - um damit auch Platz zu sparen und die neue Datenbank nicht von Anfang an gleich so groß wird.
Ist diese Konvertierung auch mit .NET-Programmierung - sprich im C#-Code möglich ?
Danke
Michael
Michael Erlinger
-
Wenn ein geringer Qualitätsverlust ok ist, dann geht JPG natürlich. Speziell wie man an die Byte-Daten für die DB heran kommt kann ich dir nicht sagen, aber es gibt auch De/Encoder für JPEG.
http://msdn.microsoft.com/de-de/library/vstudio/system.windows.media.imaging.jpegbitmapdecoder.aspx
(außerdem für PNG, BMP, WMP und GIF)
Umkodieren müsste über die Frame-Eigenschaften der De/Encoder-Klassen funktionieren.Das speichern in die DB könnte vielleicht wieder mithilfe eines Stream gehen.
<Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite | Code Beispiele | Facebook | Twitter | Snippets C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert M.Erlinger Dienstag, 23. Juli 2013 06:20
-
Hallo Michael,
TIFF unterstützt je nach Format - es gibt auch proprietäre - Features, die JPEG nicht kennt, so z. B. Transparenz, mehrere Seiten (für Fax genutzt) uam.
Weswegen eine Konvertierung in JPEG oder andere Formate gut überlegt sein will, denn es kann damit Datenverlust einhergehen. Die meisten Konverter werden nur Basisinformationen erkennen und verarbeiten und alles andere verwerfen.
Sollten die TIFF Dateien nicht komprimiert sein, kann helfen, sie in ein ZIP zu packen, wenn denn die Größe wichtig ist.
Gruß Elmar
- Als Antwort markiert M.Erlinger Dienstag, 23. Juli 2013 06:20
-
Hallo zusammen,
noch ein kleiner Hinweis: Falls die Zeit und die Ressourcen für das Projekt knapp sind, könnte man auch an eine Drittherstellerkomponente denken. In den Zeiten von Office 2003 hatte ich gern mit der frei verfügbaren Microsoft Office Document Imaging-Komponente gearbeitet. Seit MODI aber in späteren Office-Versionen aufgegeben wurde, bin ich auf VintaSoft Imaging .NET SDK umgestiegen und habe sehr gute Erfahrungen damit gemacht. In der günstigeren Version - ohne PDF-Plugins etc. - kann es u.a. TIFFs in den verschiedensten Formaten und Komprimierungseinstellungen laden, professionell anzeigen und auch manipulieren (und hat eine ganze Menge anderer Zusatzfeatures noch). Aufwandsmäßig liegt man da beim Gegenwert weniger Programmierstunden, das sollte den Kunden schon mal begeistern.
Gruß
Marcel
- Als Antwort markiert M.Erlinger Dienstag, 23. Juli 2013 06:19
-
Hallo
Danke Euch für die Rückmeldungen und Hilfestellung.
@Datenuebernahme -> werde die TIFF auf JPEG-Format umwandeln, und jede Seite des TIFF-Dokuments als eigenes JPEG-Dokument in der neuen Datenbank ablegen. Ist für den Kunden auch in Ordnung wenn ein wenig Qualitätsverlust hier gegeben ist.
@Marcel -> Danke für den Tipp mit VintaSoft. Habe mich zwar nicht für den ImageViewer entschieden, aber die Twain-Komponente sieht ebenfalls sehr gut aus - und wird in der Applikation Anwendung finden.
Schönen Gruß
Michael
Michael Erlinger