Deutsch
SDK-Helfer/ Tools

PDF-Builder-DLL

 

Jens-Arne
Reumschüssel
Guten Nachmittag,

ich war seit sehr langer Zeit auf der Suche nach einer Möglichkeit, selbst PDF-Dateien 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-Dateien mit Textinhalt erzeugen kann, die dann auch durchsuchbar sind.

Dabei ist mir nun eine PureBasic-Library über 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, für 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-Datei und eine PH-Datei gebaut, sodass man einfach aus XProfan heraus nach Herzenslust PDF-Dateien mit Text, 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-Dateien oder meiner Wrapper-DLL geben sollte, kann ich daran etwas ändern.

Viel Spaß beim Ausprobieren!

Jens-Arne

EDIT / HINWEISE:
- funktioniert nicht mit XPSE, weil darin noch keine Singles bekannt sind, die für die DLL aber benötigt werden (Singles sind 4-Byte-"Floats")
- sofern nicht JRPC3 benutzt wird, muss die ph-Datei vor der inc-Datei eingebunden werden
- bitte nicht wundern: sowohl die ph-Datei als auch die inc-Datei haben am Anfang ganz viele Leerzeilen, da ich den 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 natürlich gerne löschen)

168 kB
Bezeichnung:PDF-Builder
Version:1.02 UseCompression hinzugefügt
Kurzbeschreibung: DLL zum Erzeugen von PDF-Dateien
Hochgeladen:30.01.2022
Ladeanzahl67
Herunterladen
 
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher
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-Datei entfernt, damit auch Leute ohne JRPC3 diese direkt verwenden können.
 
XProfan X4
XProfan X4 * Prf2Cpp * XPSE * JRPC3 * Win10 64bit * PC i7-7700K@4,2GHz, 16 GB Hauptspeicher
PM: jreumsc@web.de
30.01.2022  
 




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

3 kB
Hochgeladen:31.01.2022
Ladeanzahl27
Herunterladen
 
Gruß Thomas
Windows XP SP2, XProfan X2
31.01.2022  
 




Sven
Bader
Vielen Dank für 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 Hilfe Datei (Inhalte wurden nicht gezeigt), das habe ich so gelöst:



Und hier der Beispielcode, den Jens-Arne in Rolands Forum geposted hat:
 $H PDF-Builder.ph'muss für 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
Ladeanzahl11
Herunterladen
 
01.02.2022  
 




Georg
Teles
Nabend,

eine super DLL vielen Dank !
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4
PC: i7-10700K | 32 Gb | 2x SSD | 1x HDD | RTX 2070s |
Srv: i9-9900K | 32 Gb | 2x SSD | 6x HDD |
Srv. 24/7: J1900 | 8 Gb | 1x SSD | 1x HDD |
21.02.2022  
 




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



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

756 Betrachtungen

Unbenanntvor 0 min.
Uwe Lang vor 8 Tagen
Walter vor 10 Tagen
R.Schneider vor 12 Tagen
E.T. vor 13 Tagen
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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