purepdf unter OSX...
purepdf unter OSX...
Hallo PB'ler
Klar ich weiss - OSX macht selbst auch PDF's.
Aber unter PureBasic bekomme ich immer nur eine Auflösung von 72 DPI zusammen.
Egal ob ich auf einem Drucker ausgebe, eine Preview mache oder ein PDF erstelle.
(siehe http://forums.purebasic.com/german/view ... 28&t=22423)
Ich hoffte das es unter V4.5 besser wird....
Meine nächste Idee - selbst ein PDF erstellen...
Purepdf gefunden - und es will (wiedermal) nicht klappen... hab im Englischen Forum gelesen das es mal eine Version für osx GAB.
Also scheint es wirklich nur unter Windows funktionieren...
Jemand eine Idee - oder einen Hinweis für mich?
Grüße
Klar ich weiss - OSX macht selbst auch PDF's.
Aber unter PureBasic bekomme ich immer nur eine Auflösung von 72 DPI zusammen.
Egal ob ich auf einem Drucker ausgebe, eine Preview mache oder ein PDF erstelle.
(siehe http://forums.purebasic.com/german/view ... 28&t=22423)
Ich hoffte das es unter V4.5 besser wird....
Meine nächste Idee - selbst ein PDF erstellen...
Purepdf gefunden - und es will (wiedermal) nicht klappen... hab im Englischen Forum gelesen das es mal eine Version für osx GAB.
Also scheint es wirklich nur unter Windows funktionieren...
Jemand eine Idee - oder einen Hinweis für mich?
Grüße
Hauptsächlich Purebasic für OSX
-
- Beiträge: 65
- Registriert: 02.06.2008 16:10
Re: purepdf unter OSX...
Hi Babelfish,babelfish hat geschrieben:Hallo PB'ler
Klar ich weiss - OSX macht selbst auch PDF's.
Aber unter PureBasic bekomme ich immer nur eine Auflösung von 72 DPI zusammen.
Egal ob ich auf einem Drucker ausgebe, eine Preview mache oder ein PDF erstelle.
(siehe http://forums.purebasic.com/german/view ... 28&t=22423)
Ich hoffte das es unter V4.5 besser wird....
Meine nächste Idee - selbst ein PDF erstellen...
Purepdf gefunden - und es will (wiedermal) nicht klappen... hab im Englischen Forum gelesen das es mal eine Version für osx GAB.
Also scheint es wirklich nur unter Windows funktionieren...
Jemand eine Idee - oder einen Hinweis für mich?
Grüße
probier' mal das hier: http://www.purebasic.fr/english/viewtopic.php?t=38879
Da gibt es einen Download für eine PDF-Schreibroutine. Funktioniert super; ich benutze das auch in meinen Programmen...
Zum Thema: Die Druckroutinen unter PB/Mac OS X sind noch unausgegoren. Die Qualität stimmt einfach noch nicht. Ich hoffe immer noch auf Besserung...
Gruß
J.
Re: purepdf unter OSX...
JAAAAA !!!!
Danke - genau nach sowas hab ich gesucht.
Ich knie mich mal rein... bis dann (gerade wenig Zeit zum coden)
Danke - genau nach sowas hab ich gesucht.
Ich knie mich mal rein... bis dann (gerade wenig Zeit zum coden)
Hauptsächlich Purebasic für OSX
Re: purepdf unter OSX...
Getestet - gecodet - PDF erstellt - PERFEKT!
(jetzt nur noch Feinschliff)
Danke nochmal!
(jetzt nur noch Feinschliff)
Danke nochmal!
Hauptsächlich Purebasic für OSX
-
- Beiträge: 65
- Registriert: 02.06.2008 16:10
Re: purepdf unter OSX...
Gerne. Ich benutze es auch in meinem Reisekostenrechner. Hat - glaube ich - etwa 2 Stunden gedauert, um den Ausdruck komplett auf PDF umzubauen...babelfish hat geschrieben:Getestet - gecodet - PDF erstellt - PERFEKT!
(jetzt nur noch Feinschliff)
Danke nochmal!
Hast Du schon mal ein Bild eingefügt?
Bin mir gerade nicht sicher, ob ich das schon mal gemacht hatte. Aber falls... Vielleicht kannst Du ein Beispiel posten?
Gruß
J.
Hm. Ob ich Fred und Team mal vorschlage, PDF-Export als Standardfunktion in PB einzubauen? Das wäre doch mal eine super Möglichkeit. Aber ob das lizenzrechtlich möglich ist?
Re: purepdf unter OSX...
Ja - Standardfunktion wäre super...jamirokwai hat geschrieben: Hast Du schon mal ein Bild eingefügt?
Bin mir gerade nicht sicher, ob ich das schon mal gemacht hatte. Aber falls... Vielleicht kannst Du ein Beispiel posten?
Gruß
J.
Hm. Ob ich Fred und Team mal vorschlage, PDF-Export als Standardfunktion in PB einzubauen? Das wäre doch mal eine super Möglichkeit. Aber ob das lizenzrechtlich möglich ist?
Nun - ich mach gleich ein kleines howto...
1.) Include der PDF-Prozeduren...
Code: Alles auswählen
IncludeFile("pdfneuinc.pbi")
In dem File die untersten Zeilen (If openwindow... bis zum ende auskommentieren) und im Projektverzeichnis abspeichern.
2.) Initialisieren des PDF's (mit dynamischen Filenamen aus Datum und Version falls schon vorhanden)
Dabei wird auch gleich der Header der Rechnungen für alle Seiten definiert.
Code: Alles auswählen
; ######################
; #
; # Start des PDF's
;{#
path$ = "/Volumes/Staroffice/PDF-Rechnungen/"+jahr$+"/"+monat$+"/"
fileversion = 0
While FileSize(path$+file$+"_"+Str(fileversion)+".pdf") > 0
fileversion +1
Wend
strFile.s = path$+file$+"_"+Str(fileversion)+".pdf" ;write the name of the file you want to create, including the path.
Title ("Rechnung")
ScaleMode(#pdfCentimeter)
PaperSize(#pdfA4)
Margin(0)
Orientation(#pdfPortrait)
InitPDFFile(strFile.s)
LoadFnt("Fnt1", "Arial")
LoadFnt("Fnt2", "Arial",#pdfItalic)
LoadFontStandard("Fnt3", "Arial",#pdfBold)
; Hier werden die Bilder geladen. (Im Projektverzeichnis abgelegt.
LoadImgFromBMPFile ("Img1", "oben.bmp");use your own bmp image file here.
LoadImgFromBMPFile ("Img2", "rechts.bmp");use your own bmp image file here.
; Objekte auf allen Seiten "aufdrucken"
StartObject ("Item1", #pdfAllPages)
SetColorFill (-240)
SetTextHorizontalScaling (120)
DrawTxt (4, 0, "Test-Rechnungen", "Fnt1", 80, #pdfAlignRight, 60)
SetColorFill (0)
; Hier wird das Bild angezeigt:
DrawImg ("Img1", 0, 29.5, 20, 2.43)
DrawImg ("Img2", 18.5, 27.05, 0.81, 17.50)
EndObject()
;} #
;}###################################
Code: Alles auswählen
BeginPage()
; ########################################################################################################################################################################
; #
; # Rechnungsdruck
;{#
; ####################################################################################
; #
; # Ausrichtungslinien (Debug)
; #
;{
; For xa =0 To 25 Step 1
; For ya = 0 To 31 Step 1
; SetLineCap (0)
; SetLineWidth (0.01)
; SetColorStroke (RGB(200, 200, 200))
; MoveTo (xa, 0)
; LineTo (xa, 31)
;
; SetLineCap (0)
; SetLineWidth (0.01)
; SetColorStroke (RGB(200, 200, 200))
; MoveTo (0, ya)
; LineTo (25, ya)
; If xa = ya Or (ya > 20 And xa = 20)
; DrawTxt (xa, ya, Str(xa)+"/"+Str(ya) , "Fnt2", 12, #pdfAlignRight)
; EndIf
; Next
; Next
;}
; ####################################################################################
; #
; # Rechnungsempfänger
; #
DrawTxt (1, 24, "Anrede" , "Fnt1", 12, #pdfAlignRight)
DrawTxt (1, 23.5, "Leer" , "Fnt1", 12, #pdfAlignRight)
DrawTxt (1, 23.0, "Name" , "Fnt1", 12, #pdfAlignRight)
DrawTxt (1, 22.5, "Adresse1" , "Fnt1", 12, #pdfAlignRight)
DrawTxt (1, 22.0, "PLZ Ort" , "Fnt1", 12, #pdfAlignRight)
; ####################################################################################
; #
; # Rechnungsheader
; #
DrawTxt (1, 19.5, "Rechnung Nr.: "+renum$ , "Fnt3", 10, #pdfAlignRight)
DrawTxt (7, 19.5, "KdNr.: "+kdnr$ , "Fnt3", 10, #pdfAlignLeft)
DrawTxt (7, 19.5, "KdNr.: "+kdnr$ , "Fnt3", 10, #pdfAlignRight)
DrawTxt (1, 19.0, "Für Objekt: " , "Fnt3", 10, #pdfAlignRight)
DrawTxt (1, 18.5, "Zeitraum:" , "Fnt3", 10, #pdfAlignRight)
DrawTxt (15, 19.5, "Wels am " + heute$, "Fnt3", 10, #pdfAlignRight)
; ####################################################################################
; #
; # Tabelle zeichnen
; #
SetLineCap (0)
SetLineWidth (0.01)
SetColorStroke (RGB(0, 0, 0))
; Rundherum
MoveTo (1.5, 18)
LineTo (18, 18)
MoveTo (1.5, 18)
LineTo (1.5, 13.5)
MoveTo (1.5, 13.5)
lineto (18, 13.5)
MoveTo (18, 12.9)
lineto (18, 18)
; vertikal
MoveTo (10.5, 18)
lineto (10.5, 12.9)
MoveTo (13.5, 18)
lineto (13.5, 13.5)
MoveTo (16, 18)
lineto (16, 12.9)
MoveTo (16, 18)
lineto (16, 13.5)
; horizontal
MoveTo (1.5, 17.5)
lineto (18, 17.5)
MoveTo (1.5, 17)
lineto (18, 17)
MoveTo (1.5, 16.5)
lineto (18, 16.5)
MoveTo (1.5, 16)
lineto (18, 16)
MoveTo (1.5, 15.5)
lineto (18, 15.5)
MoveTo (1.5, 15)
lineto (18, 15)
MoveTo (1.5, 14.5)
lineto (18, 14.5)
MoveTo (1.5, 14)
lineto (18, 14)
MoveTo (1.5, 13.5)
lineto (18, 13.5)
MoveTo (10.5, 13)
lineto (18, 13)
MoveTo (10.5, 12.9)
lineto (18, 12.9)
; Beschriftung
DrawTxt (4, 17.6, "Beschreibung ", "Fnt3", 9, #pdfAlignRight)
DrawTxt (11, 17.6, "Einzelpreis", "Fnt3", 9, #pdfAlignRight)
DrawTxt (14.5, 17.6, "Anzahl", "Fnt3", 9, #pdfAlignRight)
DrawTxt (16.5, 17.6, "Summe", "Fnt3", 9, #pdfAlignRight)
DrawTxt (11, 13.1, "Brutto-Summe = Zahlbetrag", "Fnt3", 9, #pdfAlignRight)
4.) Seitenwechsel
Code: Alles auswählen
EndPage()
BeginPage()
5.) Schliessen des PDF's
Code: Alles auswählen
EndPage()
ClosePDFFile()
Code: Alles auswählen
RunProgram("open", path$+file$+"_"+Str(fileversion)+".pdf","")
Was vielleicht etwas ungewohnt ist: Die Koordinaten werden vom linken unteren Eck gerechnet...
Ich hoffe ich hab keine Fehler drinnen - ich hab nur Teile aus meinen Progi kopiert (Datenbanksachen und Variablen (Namen etc.) ausgelassen) - und es dann nicht mehr getestet.
Ein wenig Probleme hab ich noch mit anderen Schriftarten (OCR)...
Und eben der Feinschliff fehlt noch (meinerseits) - aber sonst ists genial.
Die Zeilen die auskomentiert wurden (Punkt1) kann man als Beispiel ansehen.
Nicht recht kommentiert - aber selbstredend.
bis dann
Hauptsächlich Purebasic für OSX
Re: purepdf unter OSX...
Nachtrag:
Rechts- und Linksbündig macht auch noch Probleme...
(Jedenfalls mir )
Rechts- und Linksbündig macht auch noch Probleme...
(Jedenfalls mir )
Hauptsächlich Purebasic für OSX