Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  VB.NET: Preview für Pdf-Dateien

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VB.NET: Preview für Pdf-Dateien (540 / mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2661
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 27. Mrz. 2023 13:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hier ist so wenig los, da muss ich mal wieder für ein wenig Durchsatz sorgen   

Hallo Freunde,

nach langer Zeit mal wieder eine spezielle Frage 

Ich bräuchte in einem Programm ein Preview von PDF-Dateien, also nur die Anzeige der ersten Seite einer PDF-Datei in einer Picture-Box.

Vorgeschichte:
Ursprünglich hatte ich dazu die entsprechende DLL des Adobe-Readers verwendet, das hat für mich funktioniert (war eigentlich mehr, als ich brauche). Ich habe dazu die DLL der 32bit-Version des Adobe-Readers verwendet. Voraussetzung war, dass dieser 32-bit Adobe Reader auf dem jeweiligen Rechner installiert ist- so war das in der Regel bei uns auch immer.
Jetzt wird von der IT auf neuen Rechnern die 64bit-Version automatisch vorinstalliert, wozu auch immer.
Leider kann ich nicht gleichzeitig beider Versionen als Verweis einbauen.

Also Suche nach alternativ-Lösung: ich habe für mich die Nuget-Pakete freeware.pdf2png" und "freespire.pdf" gefunden.

Freeware.Pdf2Png wäre genau das richtige, da kann ich mit wenigen Zeilen eine PDF-Datei in einer Picture-Box darstellen- wie gesagt: ich brauche nur die 1. Seite der PDF-Datei.
Das funktioniert. Aber: Wenn auf dem betreffenden Rechner die Zeichenskalierung auf >100% eingestellt ist, dann beim Laden der PDF-Datei die komplette Form auf einmal runter skaliert auf 100%. Siehe auf diesem Filmchen .
Hier der Code-Auszug für Freeware.Pdf2Png:

Code:
    Sub LoadFreewarePdf2PngPreview()
        Using FileStream As New IO.FileStream(PdfDateipfad, IO.FileMode.Open)
            Using MemoryStream As New IO.MemoryStream
                Dim RawBytes = Freeware.Pdf2Png.Convert(FileStream, 1)
                MemoryStream.Write(RawBytes, 0, RawBytes.Count)
                PictureBox1.Image = Drawing.Image.FromStream(MemoryStream)
            End Using
        End Using
    End Sub

Freespire.Pdf funktioniert sogar noch einfacher, das Skalierungsproblem habe ich hier nicht, das ist alles wunderbar.
Leider ist die Freespire.pdf auf max. 3seitiges PDF beschränkt, bei größeren PDF-Dokumenten tritt eine Exception auf, und die Picturebox bleibt leer.
Code-Auszug für Freespire.Pdf:

Code:
    Sub LoadSpireSPDPreview()
        Try
            Using doc As New PdfDocument
                doc.LoadFromFile(PdfDateipfad)
                Dim myBitMap As Image = doc.SaveAsImage(0)
                PictureBox1.Image = myBitMap
            End Using
        Catch ex As Exception
           
        End Try
    End Sub

Hat jemand eine Idee, wie ich das Skalierungsproblem von freeware.pdf2png beheben kann?
Oder weiß jemand noch eine freie Alternative ohne die o.g. Einschränkungen?

Vielen Dank schon mal für's Nachdenken   

------------------
Klaus

http://www.alko-tech.com | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 791
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 30. Mrz. 2023 17:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus

Zu 1 fällt mir nur das dpiAware ein.
(Obwohl MS sagt es sei nicht mehr empfohlen, mach ich es immer noch indem ich die Kommentierung beim dpiAware-Block in der app.manifest-Datei aufhebe)

Zu 2 ich hab einmal den Gnostice.DocumentStudio.WinForms.Free verwendet.
Für die Gratisversion muss man sich aber auf der Hersteller Webseite registrieren.

Andere Optionen:
- WebBrowser Control
- WebView2
- etwas mit den Preview Handlers
- PdfiumViewer bzw. PDFtoImage
- Spire.PDFViewer

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2661
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 11. Jul. 2023 13:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ok,
ich habe mich jetzt auf Spire.pdf festelegt.
Für die meisten betroffenen PDF-Dateien reicht das, das sind i.d.R. 2D-Zeichnungen mit nur 1 Seite.
Für die wenigen mit mehr als 3 Seiten muss ich halt auf die Vorschau verzichten.
Allemal besser als der Ärger mit der Adobe-DLL.

------------------
Klaus

http://www.alko-tech.com | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz