User Libraries

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
EgonEprom
Beiträge: 24
Registriert: 15.02.2010 18:18
Computerausstattung: Windows2000-XP-Vista-7
Wohnort: Saarwellingen

User Libraries

Beitrag von EgonEprom »

Jetzt bin ich schon im 37. Jahr mit Basic-Programmierung beschäftigt und komme mir immer noch we ein blutiger Anfänger vor:
Finde ich die Hilfe nicht oder bin ich nur zu blöd, diese zu erkennen?
Ich möchte meinen Programmen u.a. beibringen, PDF-Dokumente zu erzeugen ohne einen PDF-Drucker.
Sollte angeblich mit PurePDF möglich sein. Aber ich schaffe es nicht, diese User Library in mein System zu integrieren. (Aktuelle Fehlermeldung: "PureBasic Compiler Error - Compressed libraries are not supported (Mem). Gibt es irgendwo eine verständliche Anleitung, wie man so eine User Library installiert ?

Für heute geb ich auf.
Egon Eprom
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Re: User Libraries

Beitrag von man-in-black »

Hi,

ich nehme mal an, dass du einen 64bit Compiler hast und eine 32bit DLL einbindest.
Muss aber beides gleich sein ;)

MFG
MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: User Libraries

Beitrag von TroaX »

Meinst du diese hier? http://www.purebasicpower.de/?PurePDF

Die steht nur als 32-Bit zur Verfügung. Mit dem 64-Bit Compiler gibt es dann Probleme (so blöd es auch ist). Letztes Update 2013 und damals war 64-Bit auch schon lang nichts neues mehr. Das schlimmste sind immer Closed-Source Libs und Programmierer, die aus Prinzip diverses nicht unterstützen wollen.

PurePDF macht vom Grundsatz her nichts anderes als die FPDF-Bibliothek, die bereits für PHP existiert (steht ja auch auf der Seite von PurePDF ;) ). Man könnte sie also im Grunde nachprogrammieren, da diese Lib eh nur Strings mit entsprechenden Steuerzeichen aneinanderhängt, bis ein PDF fertig ist.

Ich kann es ja mal mit auf meine Agenda packen. Aber das wird noch dauern, da ich noch so einige andere Sachen auf der Liste habe. Wenn aber jemand schon eine Lösung parat hat, immer her damit ;)

OOOPS: man-in-black war schneller xD
Hätte nicht nebenbei mit dem Hund rausgehen sollen :lol:
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: User Libraries

Beitrag von Kiffi »

@EgonEprom:

Im Zip sind die PB-Sourcen enthalten, die man mit XIncludeFile() einbinden kann.

Grüße ... Peter
a²+b²=mc²
Benutzeravatar
TroaX
Beiträge: 684
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: User Libraries

Beitrag von TroaX »

Ha LOL übersehen :lol:

Dann brauch ich mir die Arbeit ja auch nicht machen xD
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: User Libraries

Beitrag von gnaps »

Hallo Forum,

ich habe erfolgreich PurePDF mit XIncludeFile.
Habe damit auch erfolgreich PDFs erstellt.

Jetzt habe ich aber ein Problem.

wenn ich mit eine PDF mit einem Punkt z.B. 15.01.2017 beim Datum ausgebe wir die PDF zerschossen.
Hat das von Euch schon jemand gehabt ?

Code: Alles auswählen

#PurePDF_Include=1
XIncludeFile "PurePDF.pb"
Global file.s="test.pdf"
Global i=0
Global x=0
Global col.f
Global y0.f
Global Postext.s="Hallo Position"
Global Postext1.s="die zweite Zeile"
Global Summe.f=0
Procedure footer()
  Protected txt.s
  pdf_SetY(-15)
  pdf_SetFont("Arial","I",8)
  pdf_SetTextColor(128)
  pdf_Cell(100,10,"1",2,0,#PDF_ALIGN_CENTER)
EndProcedure
Procedure Header()
   If pdf_GetPageNo()=1
  pdf_Image("logo.png", 10, 10,60)
  pdf_SetFont("Verdana","N",6)
  pdf_SetXy(10,52)
  pdf_SetFillColor(255,255,255)
  pdf_Cell(80,3,"Firmendaten",0,1,#PDF_ALIGN_Right,1)
  pdf_Cell(170,3,"Datum",0,1,#PDF_ALIGN_Right,1)
    pdf_Cell(170,3,"15-01-2015",0,1,#PDF_ALIGN_Right,1)
Else
  pdf_setY(10)
  pdf_SetFont("Arial","B",15)
  pdf_Cell(100,9,"hallo",1,1,#PDF_ALIGN_CENTER,1)
  pdf_Ln(10)
 EndIf
EndProcedure

pdf_Create("P","mm:",#PDF_PAGE_FORMAT_A4)
pdf_SetProcFooter(@Footer())
pdf_SetProcHeader(@Header())
pdf_AddPage("P",#PDF_PAGE_FORMAT_A4)
pdf_SetFont("Verdana","",10)
pdf_Ln(0)
  
For i=0 To 60
  summe+10
  pdf_Cell(10,5,"Pos",0,0,#PDF_ALIGN_CENTER)
  pdf_Cell(10,5,"Stück",0,0,#PDF_ALIGN_CENTER)
  pdf_Cell(10,5,"ME",0,0,#PDF_ALIGN_CENTER)
  pdf_Cell(130,5,Postext.s,0)
  pdf_Cell(20,5,"EP",0,0,#PDF_ALIGN_CENTER)
  pdf_Cell(20,5,"GP",0,1,#PDF_ALIGN_CENTER)
  If Postext1>""
    pdf_Cell(10,5,"",0,0,#PDF_ALIGN_CENTER)
    pdf_Cell(10,5,"",0,0,#PDF_ALIGN_CENTER)
    pdf_Cell(10,5,"",0,0,#PDF_ALIGN_CENTER)
    pdf_Cell(130,5,Postext1.s,0)
    pdf_Cell(20,5,"",0,0,#PDF_ALIGN_CENTER)
    pdf_Cell(20,5,"2,00",0,1,#PDF_ALIGN_CENTER)
  EndIf
  ;pdf_Ln()
  x+1
Next i
pdf_Save(File.s)
RunProgram(File.s)
was kann man da machen ?

Gruß gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: User Libraries

Beitrag von gnaps »

Hallo nochmal,

mit Adobe PDF Reader = zerschossen
mit Edge = zerschossen

mit Sumatra = OK
mit PDF-Xchange = OK

komisch.
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: User Libraries

Beitrag von Kiffi »

gnaps hat geschrieben:wenn ich mit eine PDF mit einem Punkt z.B. 15.01.2017 beim Datum ausgebe wir die PDF zerschossen.
Hat das von Euch schon jemand gehabt ?
ich selber nutze Sumatra und kann den Fehler dementsprechend nicht nachvollziehen. Aber ehrlich gesagt kann ich mir nicht vorstellen, dass es an dem Punkt liegt. Da muss was anderes faul sein. Kann es sein, dass das PDF von einem anderen Prozess geblockt wird?

Grüße ... Peter
a²+b²=mc²
gnaps
Beiträge: 151
Registriert: 02.09.2008 13:02

Re: User Libraries

Beitrag von gnaps »

Hi Kiffi,

es liegt definitiv an den Punkten.

Nimm den Code und ändere diese Zeile ab
pdf_Cell(170,3,"15-01-2015",0,1,#PDF_ALIGN_Right,1)

mache da
pdf_Cell(170,3,"15.01.2015",0,1,#PDF_ALIGN_Right,1)

und erzeuge die PDF
mit Sumatra und PDF-Xchange ist die Datei in Ordnung jedoch
mir Adobe Reader oder Edge ist diese zerschossen.

Wenn ich nun so Rechnung als PDF erstelle kann mein Empänger diese womöglich nicht lesen
da ich als Standard auf anderen Win-Systeme Adobe Reader vermute.

und jetzt ?

Gruß
gnaps
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: User Libraries

Beitrag von ccode_new »

Hallo Erstmal!

Ich kann dein Problem nachvollziehen und ...

ich kann dir auch die Lösung sagen.

........


Ändere diese Zeile: pdf_SetFont("Verdana","",10) mal zu: pdf_SetFont("Arial","I",8);

Du wirst dich freuen.

(Schriftarten sind so ein Problem bei Adobe - Warum auch immer?)
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten