Quick PDF Library - .dll benutzen?
Quick PDF Library - .dll benutzen?
Hallo,
weiß jemand, wie man eine der .dll Dateien von:
https://www.debenu.com/products/develop ... f-library/
in PB aktuell benutzt?
Die .dlls liegen nach der Installation unter:
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\
Ich hätte gerne Zugriff auf eine (welche?) der beiden 32-bit Versionen,
DebenuPDFLibraryCPDLL1613.dll
DebenuPDFLibraryDLL1613.dll
die nach der Installation in das Verzeichnis, in dem das .pb script liegt,
kopiert wurden.
Möchte damit .pdf Formulare ausfüllen...
weiß jemand, wie man eine der .dll Dateien von:
https://www.debenu.com/products/develop ... f-library/
in PB aktuell benutzt?
Die .dlls liegen nach der Installation unter:
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\
Ich hätte gerne Zugriff auf eine (welche?) der beiden 32-bit Versionen,
DebenuPDFLibraryCPDLL1613.dll
DebenuPDFLibraryDLL1613.dll
die nach der Installation in das Verzeichnis, in dem das .pb script liegt,
kopiert wurden.
Möchte damit .pdf Formulare ausfüllen...
Re: Quick PDF Library - .dll benutzen?
Ganz schön teuer für eine Lizenz. Dann müsste ja dein Projekt was kommerzielles sein, damit sich das rentiert.
Da ist es einfacher und günstiger, wenn man einen C#-Wrapper für PB erstellt.
Gibt es vom Hersteller Beispielcodes (z.B. in C++), die man nach PB portieren könnte?
Da ist es einfacher und günstiger, wenn man einen C#-Wrapper für PB erstellt.
Gibt es vom Hersteller Beispielcodes (z.B. in C++), die man nach PB portieren könnte?
Re: Quick PDF Library - .dll benutzen?
Ja, in diesem Fall ist das ein kommerzielles Projekt (Excel Tabellen werden ausgelesen und die Daten in Formulare eingetragen).
Man kann auch z.B. pdftk zum Ausfüllen verwenden, aber das hat seine eigenen Probleme (Unicode Pfade/Dateinamen, Unicodezeichen in Formulareinträgen, etc.). Deshalb ist das hier zwar eine relativ teure Alternative, aber wenigstens ist die Lizenz lebenslang (zumindest wenn einem die gekaufte Version(snummer) ausreicht) und sie ist nicht an die Anzahl der Projekte gebunden.
Es gibt vom Hersteller durchaus sample codes:
https://www.debenu.com/products/develop ... p/samples/
Auch für C++.
Lädt man es herunter und entpackt es
https://www.debenu.com/downloads/code-s ... sample.zip
wird die .dll Datei in dieser .cpp Datei eingebunden und verwendet:
Hello WorldDlg.cpp
Man kann auch z.B. pdftk zum Ausfüllen verwenden, aber das hat seine eigenen Probleme (Unicode Pfade/Dateinamen, Unicodezeichen in Formulareinträgen, etc.). Deshalb ist das hier zwar eine relativ teure Alternative, aber wenigstens ist die Lizenz lebenslang (zumindest wenn einem die gekaufte Version(snummer) ausreicht) und sie ist nicht an die Anzahl der Projekte gebunden.
Es gibt vom Hersteller durchaus sample codes:
https://www.debenu.com/products/develop ... p/samples/
Auch für C++.
Lädt man es herunter und entpackt es
https://www.debenu.com/downloads/code-s ... sample.zip
wird die .dll Datei in dieser .cpp Datei eingebunden und verwendet:
Hello WorldDlg.cpp
Re: Quick PDF Library - .dll benutzen?
Keiner eine Idee?
Re: Quick PDF Library - .dll benutzen?
Ungetestet:
Code: Alles auswählen
; http://www.debenu.com/wp-content/uploads/Foxit_Quick_PDF_Library_15_DLL_GettingStarted.pdf
EnableExplicit
Define library, instanceID
Define tempFile$
tempFile$ = GetTemporaryDirectory() + "Test.pdf"
library = OpenLibrary(#PB_Any, "<INSERT PATH TO THE LIBRARY>")
If Not library
Debug "Error"
End
EndIf
instanceID = CallCFunction(library, "DPLCreateLibrary")
If CallCFunction(library, "DPLUnlockKey", instanceID, @"your license key") = #True
CallCFunction(library, "DPLDrawText", instanceID, 100, 500, @"Hello world")
CallCFunction(library, "DPLSaveToFile", instanceID, @tempFile$)
RunProgram(tempFile$)
EndIf
CallCFunction(InstanceID, "DPLReleaseLibrary", instanceID)
CloseLibrary(library)
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Re: Quick PDF Library - .dll benutzen?
Hallo Sicro,
danke sehr für die Hilfe!
Leider funktioniert es nicht wie erhofft.
Ich hab diese beiden .dlls ausprobiert:
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\DebenuPDFLibraryCPDLL1613.dll
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\DebenuPDFLibraryDLL1613.dll
Ich verwende zum Testen den 32-bit Compiler (5.71 beta 2)
Ich bekomme beim Erreichen der Zeile:
diese Fehlermeldung:
danke sehr für die Hilfe!
Leider funktioniert es nicht wie erhofft.
Ich hab diese beiden .dlls ausprobiert:
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\DebenuPDFLibraryCPDLL1613.dll
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\DebenuPDFLibraryDLL1613.dll
Ich verwende zum Testen den 32-bit Compiler (5.71 beta 2)
Ich bekomme beim Erreichen der Zeile:
Code: Alles auswählen
If CallCFunction(library, "DPLUnlockKey", instanceID, @"<mein_originaler_lizenzschluessel>") = #True
Code: Alles auswählen
[20:27:28] [ERROR] Invalid memory access. (write error at address 5012270)
Re: Quick PDF Library - .dll benutzen?
Funktioniert der erste Aufruf?
Meine Empfehlung ist alle Tests erst einmal mit x64 durchzuführen (einheitliche Aufrufkonventionen).
Wenn es eine *.lib gibt können die Funktionen eventuell richtig importiert werden ohne den Umweg über LoadLibrary.
Code: Alles auswählen
instanceID = CallCFunction(library, "DPLCreateLibrary")
Wenn es eine *.lib gibt können die Funktionen eventuell richtig importiert werden ohne den Umweg über LoadLibrary.
Re: Quick PDF Library - .dll benutzen?
@Mijikai
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\DebenuPDFLibrary64CPDLL1613.dll
funktioniert es, das .pdf Dokument wird korrekt erstellt.
Allerdings muss die App auch als 32-bit Variante vorliegen (es gibt noch einige sehr alte Win 7 Systeme, auf denen immer noch ein 32-bittiges OS läuft).
Was muss man denn umstellen, damit es auch unter 32-bit funktioniert?
Ja, tut es, auch unter 32-bitFunktioniert der erste Aufruf?
Ui. Mit dem 64-bit Compiler und dieser .dll:Meine Empfehlung ist alle Tests erst einmal mit x64 durchzuführen (einheitliche Aufrufkonventionen).
C:\Program Files (x86)\Debenu\PDF Library 16\DLL\DebenuPDFLibrary64CPDLL1613.dll
funktioniert es, das .pdf Dokument wird korrekt erstellt.
Allerdings muss die App auch als 32-bit Variante vorliegen (es gibt noch einige sehr alte Win 7 Systeme, auf denen immer noch ein 32-bittiges OS läuft).
Was muss man denn umstellen, damit es auch unter 32-bit funktioniert?
Re: Quick PDF Library - .dll benutzen?
Versuch mal den String ("your license key") für die 32bit Version als Ascii zu übergeben.
Teste CallCFunction() & CallFunction().
Teste CallCFunction() & CallFunction().