Aktuelle Zeit: 05.08.2020 18:51

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 05.07.2019 12:09 
Offline

Registriert: 21.07.2017 22:36
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...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 05.07.2019 12:27 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
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?

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 05.07.2019 13:08 
Offline

Registriert: 21.07.2017 22:36
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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 07.07.2019 13:28 
Offline

Registriert: 21.07.2017 22:36
Keiner eine Idee?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 07.07.2019 19:43 
Offline
Benutzeravatar

Registriert: 11.08.2005 19:08
Ungetestet:
Code:

; 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)

_________________
Bild
Warum OpenSource eine Lizenz haben sollte
PureBasic-CodeArchiv-Rebirth: Git-Repository / Download – Jede Hilfe ist willkommen!
Manjaro Xfce x64 (Hauptsystem) :: WindowsXP/Xubuntu x86 (VirtualBox) :: PureBasic (Linux: x86/x64, Windows: x86) :: jeweils neueste Version


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 07.07.2019 20:31 
Offline

Registriert: 21.07.2017 22:36
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:
Code:
If CallCFunction(library, "DPLUnlockKey", instanceID, @"<mein_originaler_lizenzschluessel>") = #True


diese Fehlermeldung:
Code:
[20:27:28] [ERROR] Invalid memory access. (write error at address 5012270)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 08.07.2019 07:37 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Funktioniert der erste Aufruf?
Code:
instanceID = CallCFunction(library, "DPLCreateLibrary")


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.

_________________

Links:
PureBasic Discord
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 08.07.2019 08:22 
Offline

Registriert: 21.07.2017 22:36
@Mijikai

Zitat:
Funktioniert der erste Aufruf?

Ja, tut es, auch unter 32-bit

Zitat:
Meine Empfehlung ist alle Tests erst einmal mit x64 durchzuführen (einheitliche Aufrufkonventionen).

Ui. Mit dem 64-bit Compiler und dieser .dll:
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?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Quick PDF Library - .dll benutzen?
BeitragVerfasst: 08.07.2019 08:51 
Offline
Benutzeravatar

Registriert: 25.09.2016 01:42
Versuch mal den String ("your license key") für die 32bit Version als Ascii zu übergeben.
Teste CallCFunction() & CallFunction().

_________________

Links:
PureBasic Discord
[INCLUDE] GLFW 3.3 Library
[MODULE] Bass Library 2.4 (Win)
[LIBRARY] Hexi Binary2Hex (Win)



Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye