Wie man pdfs mit C # rendert
Ich laden möchten und ziehen Sie pdf-Dateien grafisch mit C#. Brauche ich nicht, um Sie zu Bearbeiten oder nichts, nur zu machen bei einem bestimmten zoom-Stufe.
Pdf-Bibliotheken, die ich gefunden habe, scheinen Sie fokussiert auf die generation. Wie mache ich das?
Dank.
InformationsquelleAutor der Frage Garth | 2009-02-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein paar andere Möglichkeiten, im Falle der Adobe-ActiveX ist nicht, was Sie suchen (seit Acrobat vorhanden sein muss, auf dem Computer des Benutzers, und Sie können nicht Schiff selbst).
Für die Erstellung der PDF-Vorschau an, zuerst einen Blick auf einige der anderen Diskussionen zu dem Thema auf StackOverflow:
In den letzten beiden spreche ich über ein paar Dinge, die Sie ausprobieren können:
Können Sie einen kommerziellen renderer (PDFViewForNetPDFRasterizer.NETABCPDFActivePDFXpdfRasterizer und andere in dem anderen Antworten...).
Die meisten sind ziemlich teuer, vor allem, wenn alles, was Sie interessiert, ist eine einfache Vorschau/thumbnails.
Neben Omar Shahine ' s code-snippet, es ist ein CodeProject-Artikeldie zeigt, wie der Adobe-ActiveX -, aber es kann sein, out-of-date, leicht gebrochen durch neue Veröffentlichungen und seine Rechtmäßigkeit ist trüb (im Grunde ist es ok für den internen Gebrauch, aber Sie können nicht liefern, und Sie können es nicht verwenden, auf einem server, um Bilder zu erzeugen von PDF).
Haben, könnten Sie einen Blick auf den Quellcode für SumatraPDFein OpenSource-PDF-viewer für windows.
Gibt es auch Popplereine rendering-engine, die verwendet Xpdf als rendering-engine.
All dies sind groß, aber Sie erfordern eine ganze Menge Engagement machen Sie zu arbeiten und als Schnittstelle .Net und Sie neigen dazu, werden vertrieben unter der GPL.
Möchten Sie vielleicht zu prüfen, mit GhostScript als Dolmetscher, weil Rendern von Seiten ist ein ziemlich einfacher Prozess.
Der Nachteil ist, dass Sie brauchen, um entweder neu Verpacken es, um es zu installieren mit der app, oder machen Sie es eine Voraussetzung (oder zumindest ein Teil Ihrer Installation).
Ist es nicht eine große Herausforderung, und es ist sicherlich einfacher, als massage die anderen rendering-engines in Kooperation mit .Net.
Ich habe ein kleines Projekt finden Sie auf der Developer Express Foren als Anhang.
Vorsichtig sein, die Lizenz-Anforderungen für GhostScript durch.
Wenn Sie nicht verlassen kann, mit, dass dann kommerzielle software ist wohl die einzige Wahl.
InformationsquelleAutor der Antwort Renaud Bompuis
Google hat die open-Source-seine hervorragende PDF-rendering - engine - PDFium - es schrieb mit Foxit Software.
Gibt es eine C# nuget-Paket namens PdfiumViewer gibt ein C# - wrapper um PDFium und können PDF-Dateien angezeigt und gedruckt werden.
Ich habe es verwendet und war sehr beeindruckt von der Qualität des rendering.
PDFium arbeitet direkt mit den streams, so dass es nicht erforderlich, alle Daten auf die Festplatte geschrieben werden.
Dies ist mein Beispiel aus einer WinForms app
Edit: Um die pdfRenderer - Steuerelement in Windows forms: Fügen Sie die
PdfiumViewer
NuGet-Paket für das Projekt; öffnen Sie die Projekte, packages-Ordner im Windows-Explorer und ziehen Sie diePdfiumViewer.dll
- Datei auf derToolbox
Fenster; Ein Steuerelement mit dem NamenPdfRenderer
verfügbar sein wird, fügt hinzu:InformationsquelleAutor der Antwort Paddy
Hier ist meine Antwort aus einer anderen Frage.
Zuerst müssen Sie auf der Adobe Reader-ActiveX-Steuerelement
Adobe Acrobat Browser Control Type Library 1.0
%programfiles&\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll
Dann ziehen Sie es einfach in Ihrem Windows-Formular, aus der Toolbox.
Und verwenden Sie code wie diesen zu initialisieren, die ActiveX-Steuerelement.
Stellen Sie sicher, wenn Sie Ihre Form wird geschlossen, dass du über das ActiveX-Steuerelement
ansonsten Acrobat gelassen werden könnten, herumliegen.
InformationsquelleAutor der Antwort Omar Shahine
ABCpdf tun das und viele andere Dinge für Sie.
Nicht nur wird es dazu führen, dass Ihre PDF-Datei in eine Vielzahl von Formaten (zB JPEG, GIF, PNG, TIFF, JPEG-2000; vector EPS, SVG, Flash-und PostScript), aber es kann auch in einer Vielzahl von Farbräumen (z.B. Grau, RGB, CMYK) und bit-Tiefe (z.B. 1, 8, 16 bits pro Komponente).
Und das ist nur einige von dem, was es tun wird!
Weitere details finden Sie unter:
http://www.websupergoo.com/abcpdf-8.htm
Oh, und Sie können Kostenlose Lizenzen über die freie Lizenz-Schema.
Es gibt EULA Probleme mit Acrobat zu tun Rendern von PDF-Dateien. Wenn Sie wollen, diesen Weg gehen überprüfen Sie die Gesetzmäßigkeiten, die sehr vorsichtig zunächst.
InformationsquelleAutor der Antwort user81888
PdfiumViewer ist groß, aber relativ eng gekoppelt an
System.Drawing
und WinForms. Aus diesem Grund habe ich meine eigenen wrapper um PDFium: PDFiumSharpSeiten gerendert werden kann, um eine PDFiumBitmap die wiederum können gespeichert werden auf der Festplatte oder ausgesetzt als stream. So ist jeder Rahmen in der Lage laden Sie ein Bild im BMP-format aus einem stream können diese Bibliothek verwenden, zum anzeigen von pdf-Seiten.
Beispielsweise in einer WPF-Anwendung, die Sie könnte verwenden Sie die folgende Methode zum Rendern einer pdf-Seite:
InformationsquelleAutor der Antwort ArgusMagnus
Dynamische PDF-Viewer von ceTe software tun könnten, was Sie suchen. Ich habe Ihr generator software und war ziemlich glücklich mit ihm.
http://www.dynamicpdf.com/
InformationsquelleAutor der Antwort Paul Lefebvre
Verwenden Sie das Webbrowser-Steuerelement. Diese benötigen Sie den Adobe reader installiert sein, aber wahrscheinlich haben Sie es sowieso. Legen Sie die UrL des Steuerelements, um den Speicherort der Datei.
InformationsquelleAutor der Antwort Sesh
Die einfachste lib die ich verwendet habe ist Paolo Gios ist Bibliothek. Es ist im Grunde
Diese ist ein tolles tutorial, um Ihnen den Einstieg.
InformationsquelleAutor der Antwort
Disclaimer: ich arbeite für Atalasoft
Haben wir eine PDF-Rasterizer, die dies tun können .NET
http://www.atalasoft.com/products/dotimage/pdfrasterizer/
InformationsquelleAutor der Antwort Lou Franco
Ähnlich sieht dies der richtige: http://code.google.com/p/lib-pdf/
InformationsquelleAutor der Antwort DenNukem
Könnten Sie google für PDF-viewer Komponenteund kommen mit mehr als ein paar hits.
Wenn Sie nicht wirklich brauchen, Sie zu integrieren in Ihre app, wenn Sie nur können benötigen Sie den Acrobat Reader oder FoxIt (oder bündeln Sie es, wenn Sie auf deren jeweiligen Lizenzbestimmungen) und berappen. Es ist nicht so cool, aber es bekommt den job zu erledigen für Sie kostenlos.
InformationsquelleAutor der Antwort Mark Brackett