Hallo,
nach langer Zeit muss ich mal wieder was programmieren. Ist eigentlich nichts besonderes und auch nur für mich wird also nicht vertrieben.
Ziel des Projekts ist es PDF Dateien in einem Winforms Projekt auf einem TAB Panel darzustellen. Dabei stehen die verschiedenen PDF Dateien zur Verfügung und müssen aber per MemoryStream geladen werden, da es sein kann, das mehrere PDF Dateien zusammengeführt und als eine Datei mit mehreren Seiten dargestellt werden müssen. ( Anflugkarten für Flughäfen )
Leider habe ich kein Freeware Control für die Darstellung PDF Memorystreams gefunden. iTextCsharp hat kein anscheinend kein Control und mit dem Browser Control kann man anscheinend keine PDF's aus einem MemoryStream darstellen weil man den MIME Typ nicht einstellen kann.
Dumme Sache das, aber ich komm da einfach nicht weiter.
Ich möchte aber auch kein Geld für ein Control ausgeben, da es ja nur ein kleines privates Projekt ist.
Probiert habe ich auch Syncfusionessentialwindowsforms zum Beispiel, das geht zwar , kann aber als Freeware nicht mehr als 10 Seiten darstellen, was nicht ausreicht. ( können schon mal recht viele Anflugkarten sein )
Hat vielleicht jemand eine Idee wie ich das machen kann?
Danke
Matthias
Hallo,
vielleicht hilft Dir das weiter: [gelöst] PDF vom Stream im WebBrowser-Control anzeigen?
Eine andere Lösung wüsste ich jetzt nicht...
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Notlösung: Einen eigenen HttpListener in der Anwendung hosten und das WebBrowser-Control verwenden...?
Notlösung: Einen eigenen HttpListener in der Anwendung hosten
.. bitte aber sowas nicht auf "localhost:80" laufen lassen (oft genug gesehen!!!).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo,
danke für die schnellen Antworten.
Das mit dem temporären speichern der PDF's wollte ich eigentlich vermeiden, darum der MemoryStream.
Den Beitrag hier :
MoonPdf - PDF Viewer Control und PDF Viewer
hatte ich gefunden, bekomme aber das Control einfach nicht auf die Form, bzw. in die Sidebar. Wenn ich die dll laden will kommt immer eine Fehlermeldung das die dll kein Control enthalte.
Keine Ahnung was da schief geht.
HttpListener ?
Wird ich mir anschauen, keine Ahnung wie das gehen soll?
Danke erst mal
Mattias
...irgend wie verstehe ich nicht, warum es keine Freeware Componente zum anzeigen von pdf's gibt?
sonst gibt es doch für alles mögliche etwas....
Hi STF-DIR,
...irgend wie verstehe ich nicht, warum es keine Freeware Componente zum anzeigen von pdf's gibt?
sonst gibt es doch für alles mögliche etwas....
Das erste Suchergebnis bei Google ist: Read a stored PDF from memory stream
There is a C# nuget package called PdfiumViewer which gives a C# wrapper around PDFium and allows PDFs to be displayed and printed.
It works directly with Streams so doesn't require any data to be written to disk
Hast du das schonmal ausprobiert?
Weeks of programming can save you hours of planning
...also irgendwie steh ich damit auf dem schlauch.
Ich hab mir hier :
https://github.com/pvginkel/PdfiumViewer/blob/master/Libraries/Pdfium/x86/pdfium.dll
die dll herunter geladen und versucht ein Control in die Sidebar zu bekommen.
Funktioniert leider nicht, da kommt immer ne Fehlermeldung.
Dann hab ich mir das komplette Packet heruntergeladen
https://github.com/pvginkel/PdfiumViewer
und sowohl die Demo als auch Test Version darin ins Sharpdevelop geladen.
Funktionieren aber beide nicht.
Was mach ich denn da nur falsch..?
Matthias
...weil hier:
https://github.com/pvginkel/PdfiumViewer/tree/master/Libraries/Pdfium
steht, das es mit denen funktionieren sollte:
These are the compiled Pdfium libraries. The default libraries used, the ones that are here in the x86 and x64 folders, are the ones that include V8. These are not compatible with Windows XP.
If, alternatively, you want smaller Pdfium DLL's, or require Windows XP support, you can alternatively use the Without V8 versions. For Windows XP, you also need to distribute updated versions of the dbghelp.dll DLL's, which are also located in the appropriate folders. Please note that these are not part of the standard distribution and are not automatically loaded or copied into your target folder. You have to add these yourself.
bei diesem NuGet steige ich nich durch
Matthias
FYI
Using the library
To use the library, you must first add a reference to the NuGet package.
das ist es ja , wo/wie soll ich das machen?
Ich benutze Sharpdevelop, nict Visual Studio und eine NuGet Package hab ich auch nicht.
Es muss doch irgendwo eine fertig kompilierte PDFium dll geben, aus der man das Control zur Sidebar hinzufügen kann.
omg
google => sharpdevelop nuget
Vorlesen mache ich aber nicht ...
BTW Laut deinem Profil verwendest du Visual Studio 2008
...irgend wie verstehe ich nicht, warum es keine Freeware Componente zum anzeigen von pdf's gibt?
sonst gibt es doch für alles mögliche etwas....
Zum einem ist deine Aussage falsch, da es mehrere gibt und zum anderen, was hält dich ab, dich in das Thema einzuarbeiten und eine zur Verfügung zu stellen?
Ich finde die Freibiermentalität und Erwartungshaltung mancher hier schon grenzwertig..
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
ich glaube das waren bessere Suchwörter als meine nach "free pdf library c#"
Also sorry und danke noch mal
Matthas
Ps.: Ich dachte das erste Ergebnis ist schon das richtige , aber es hat wieder keine eigene Componente die man in die Sidebar laden kann.
Also doch erst mal weitersuchen, denn das waren ja die Anforderungen an die Suche.
Anscheinend sind deine Suchwörter somit doch nicht besser.
Und wieso meinst du das du eine Componente in der Sidebar benötigst?
Benutzerfreundlich und es wundert mich halt, das es für(fast) alles ne Componente gibt, nur für PDF's anscheinend nicht, jedenfalls nicht als Freeware
Ja, tatsächlich muss man manche Dinge als Entwickler dann doch selbst programmieren.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ich glaube das Thema kann geschlossen werden.
Ich hatte nur eine einfache Frage und jetzt ist es eine riesen Grundsatzdiskussion geworden.
Das hilft mir nicht weiter.
Matthias
Naja, weiterhelfen könnte es dir wenn du etwas lernst.
Das kann evtl auch sein das du verstehst das componenten etwas sind das in einem Designer manchmal Sinn machen, du aber nicht immer einen Designer benötigst um etwas zu schreiben.
Schon das du jetzt mal gesehen hast das es Nuget gibt, kann dir eine neue Welt öffnen, wenn du dann noch nachvollziehen kannst das das benutzen solcher Komponenten dann auch nur 2 Zeilen mehr sind gegenüber dem D&D aus der Sidebar, dann ist das doch auch etwas.
Ganz abgesehen davon, ist der Designer in 90% der Fälle eh nur Zeitverschwendung und man kann vieles im code deutlich schneller machen ( erst recht bei WPF ).