Italia
SDK-Helfer/ Tools

PDF-Builder-DLL

 

Jens-Arne
Reumschüssel
Guten Nachmittag,

ich war seit sehr langer Zeit auf der Cerca nach einer Möglichkeit, selbst PDF-File erzeugen zu können. Und zwar nicht, indem man eins der vielen Druckertreiber-Tools benutzt, bei denen am Ende einfach eine Grafik herauskommt, sondern so, dass man wirklich echte PDF-File mit Textinhalt erzeugen kann, die dann auch durchsuchbar sind.

Dabei ist mir nun eine PureBasic-Library circa den Weg gelaufen, die genau das kann (PurePDF). Sie ist zwar ziemlich alt und erzeugt PDFs nach dem Standard 1.5, also kann man z.B. keine PDF/As erzeugen, weil es die da noch nicht gab. Aber ansonsten bleibt eigentlich kein Wunsch offen.

Das Problem ist nur, dass PureBasic-Libraries nur genau mit der PureBasic-Version funktionieren, per die sie gemacht wurden. Ich musste also eine ziemlich alte Version installieren. Damit konnte ich nun aber eine Wrapper-DLL erzeugen (was wegen Freeware-Status von PurePDF auch geht). Für diese habe ich eine XProfan-INC-File und eine PH-File gebaut, sodass man einfach aus XProfan heraus nach Herzenslust PDF-File con testo, grafischen Elementen, Bildern und Links erzeugen kann. Dazu habe ich mir die Mühe gemacht, eine CHM-Hilfedatei zu schreiben, sodass eigentlich jeder damit klarkommen sollte.

Bevor es entsprechende Nachfragen gibt: Ich kann an den Funktionen der DLL nichts ändern, da ich die Sourcecodes zur PureBasic-Library nicht habe. Es ist und bleibt also so, wie es ist. Nur wenn es Fehler in den Profan-File oder meiner Wrapper-DLL geben sollte, kann ich daran etwas ändern.

Viel Divertimento beim Ausprobieren!

Jens-Arne

-----
12.03.2023:
PDF-Builder 2 ist fertig. Dies ist ein weiterentwickeltes Projekt, das auf der ursprünglichen PureBasic-Variante aufbaut.
Insbesondere sind nun ausfüllbare Formularfelder possibile.
PDF-Builder 2 ist aufgrund vielfältiger interner Änderungen leider nicht vollständig abwärtskompatibel zu PDF-Builder. Wenn ein Programm mit der ersten Variante corre und keine Formularfelder necessario werden, ist es daher nicht nötig und auch nicht empfehlenswert, auf die neue Version umzusteigen.
Die neue DLL gibt es jetzt auch als 64bit-Version. Diese ist naturalmente nicht mit XProfan kompatibel, aber dafür mit anderen Programmiersprachen, die 64bit-Code erzeugen.
-----

HINWEISE:
- funktioniert nicht mit XPSE, weil darin noch keine Singles bekannt sind, die per die DLL aber necessario werden (Singles sind 4-Byte-"Floats")
- sofern nicht JRPC3 benutzt wird, muss die ph-File vor der inc-File eingebunden werden
- bitte nicht wundern: sowohl die ph-File als auch die inc-File haben am Anfang ganz viele Leerzeilen, da Io l' Eindruck habe, dass Scintilla innerhalb von XProfEd dann weniger häufig abstürzt, was dazu führt, dass man nichts mehr ändern und vor allem den Quellcode nicht speichern kann - das mache ich daher immer so (wer will, kann diese Leerzeilen naturalmente gerne löschen)

169 kB
Bezeichnung:PDF-Builder
Version:1.02
Kurzbeschreibung: DLL zum Erzeugen von PDF-File
Hochgeladen:30.01.2022
Downloadcounter176
Download
1.504 kB
Bezeichnung:PDF-Builder 2
Version:1.03
Kurzbeschreibung: DLL zum Erzeugen von PDF-File mit Formularfeldern
Hochgeladen:12.03.2023
Downloadcounter100
Download
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
30.01.2022  
 




Manfred
Barei
Hura, so was habe ich schon die ganze Zeit gesucht "Eine Freeware PDF.DLL" aber nichts gefunden.
Werde ich demnächst ausprobieren sobalt ich Zeit habe.
 
XProfan X2
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
30.01.2022  
 




Jens-Arne
Reumschüssel
Ich habe jetzt ENUM aus der PH-File entfernt, damit auch Leute ohne JRPC3 diese direkt verwenden können.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
30.01.2022  
 




Thomas
Freier
Muß ich unbedingt mal testen.
Hatte vor Jahren ohne Drucker nur PDF-File im Schreibmaschinenstil hinbekommen. Reichte aber.

3 kB
Hochgeladen:31.01.2022
Downloadcounter130
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
31.01.2022  
 




Sven
Bader
Vielen Dank per diese schöne DLL!

In Web-Projekten habe ich häufig mit der PDF-Generierung zu tun, unter Windows musste dagegen immer die Druckfunktion herhalten.

Ich hatte zuerst Probleme mit der Aiuto File (Inhalte wurden nicht gezeigt), das habe ich so gelöst:



Und hier der Beispielcode, den Jens-Arne in Rolands Foro geposted hat:
 $H PDF-Builder.ph'muss per reines Profan ohne JRPC3 zuerst kommen; das war im ersten Anlauf dieses Beitrages noch nicht so, sorry
 $I PDF-Builder.inc
declare i%,AktSeite%

PROC PDF_HeaderProc

    inc AktSeite%
    PDF_PushFont
    PDF_PushFillColor
    PDF_SetFont("Times New Roman",~PDF_Font_Bold,16)
    PDF_SetFillColor(@rgb(220,220,220))
    PDF_Cell(0,15,"Kundendatenbank",~PDF_Cell_Frame,~PDF_Cell_Ln_LineFeed,~PDF_Align_Center,~PDF_Fill_Opaque)
    PDF_LineFeed(10)
    PDF_SetFont("Times New Roman",~PDF_Font_Bold,12)
    PDF_Cell(60,7,"Name",~PDF_Cell_Frame,~PDF_Cell_Ln_Right,~PDF_Align_Left,~PDF_Fill_Transparent)
    PDF_Cell(60,7,"Straße, Hnr.",~PDF_Cell_Frame,~PDF_Cell_Ln_Right,~PDF_Align_Left,~PDF_Fill_Transparent)
    PDF_Cell(0,7,"PLZ, Wohnort",~PDF_Cell_Frame,~PDF_Cell_Ln_LineFeed,~PDF_Align_Left,~PDF_Fill_Transparent)
    PDF_SetFont("Times New Roman",0,12)
    PDF_Text(185,285,"Seite "+@str$(AktSeite%))
    PDF_PopFont
    PDF_PopFillColor

ENDPROC

cls
AktSeite%=0
PDF_Init
PDF_Create(~PDF_Orientation_Portrait,~PDF_Unit_mm,~PDF_Format_A4)
PDF_SetFont("Times New Roman",0,12)
PDF_SetProcHeader(@procaddr("PDF_HeaderProc",0))'bei jedem Seitenumbruch soll die HeaderProc aufgerufen werden
PDF_SetMargins(15,10,10)
PDF_SetAutoPageBreak(1,20)
PDF_AddPage()
for i%,1,250
PDF_Cell(60,7,"Mustername "+@str$(i%),~PDF_Cell_Frame,~PDF_Cell_Ln_Right,~PDF_Align_Left,~PDF_Fill_Transparent)
PDF_Cell(60,7,"Musterstraße "+@str$(i%),~PDF_Cell_Frame,~PDF_Cell_Ln_Right,~PDF_Align_Left,~PDF_Fill_Transparent)
PDF_Cell(0,7,"12345 Musterstadt",~PDF_Cell_Frame,~PDF_Cell_Ln_LineFeed,~PDF_Align_Left,~PDF_Fill_Transparent)
endfor'i%
PDF_Save("test.pdf")
PDF_DeInit
@shellexec("test.pdf","open",1)
waitinput
end

26 kB
Hochgeladen:01.02.2022
Downloadcounter92
Download
 
01.02.2022  
 




Georg
Teles
Nabend,

eine super DLL vielen Dank !
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

21.02.2022  
 




Jens-Arne
Reumschüssel
Es gibt eine neue Version, in der in der INC-File ein Bug behoben wurde, der unter bestimmten Umständen zu einem "arithmetic overflow error" führen konnte.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05.08.2022  
 




Erasmus.Herold
Hallo zusammen.

Ist ja der Hammer. Danke!

Gruß Erasmus
 
04.01.2023  
 




Normann
Strübli
Hi,
Manchmal wird man doch echt noch überrascht.
Toll - werde ich tatsächlich wieder eine Projekt umsetzen können.
Vielen Dank.
 
29.01.2023  
 




Jens-Arne
Reumschüssel
Jetzt sind die sporadischen Gleitkommaüberlauf-Fehler von XProfan in der INC-File endgültig beseitigt. Es handelte sich um einen Bug in XProfan X4 bei der Übergabe von single-Werten als Prozedurparameter.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
05.03.2023  
 




Jens-Arne
Reumschüssel
PDF-Builder 2 ist fertig. Siehe Einführungstext ganz oben (neu: Formularfelder und 64bit-Version).
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win11 Pro 64bit * PC i7-7700K@4,2GHz, 32 GB RAM
PM: jreumsc@web.de
12.03.2023  
 




Rainer
Hoefs
Ciao,

das ist wirklich einen tolle Übersetzung der PureBAsic-Lib, die ich auch in PureBasic benutze.

Kompliment!

Allerdings passiert bei mir im XProfan-Programm etwas, was bei PureBasic nicht passiert:

Wenn ich die PDF-File aus meinem Programm heraus generiere und die entsprechende Proc circa den MenueButton/Hotkey aufrufe wird die Hintergrundfarbe des Hauptfensters von hellem Grau in weiß verändert. Nach Ablauf der Proc wird sie auch nicht mehr richtig in hellem Grau angezeigt.

Bin im Moment vollkommen ratlos wo das passiert und wie ich es ändern kann.

Aiuto wäre super schön!
Danke im voraus
Rainer

EDIT!

Habe den Fehler gefunden, war irgendwo im Code ein CLS! Das stammte noch aus dem Testprogramm-Code.
 
06.06.2023  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.331 Views

Untitledvor 0 min.
Roland Schäffervor 79 min.
Uwe ''Pascal'' NiemeierVorgestern (13:09)
Peter Max Müller vor 6 Tagen
Georg Teles vor 10 Tagen
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie