PDF

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Lifetec

Betreff: PDF

BeitragFr, Jul 07, 2006 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe dieses hier geproggt.

Code: [AUSKLAPPEN]


fenster = CreateWindow("Form", 295, 190, 314, 222, 0, 3)
;Textarea
TextArea1 = CreateTextArea(8, 8, 289, 153, fenster)
;Button
Button1 = CreateButton("Selcteiren", 8, 168, 81, 17, fenster)
Button2 = CreateButton("kopieren", 96, 168, 81, 17, fenster)

Repeat
er = WaitEvent()
If er = $803 Then End
If er = $401 And EventSource() = Button1 Then
SendMessage(QueryObject(textarea1, 1), EM_SETSEL, 0, TextAreaLen(textarea1))
EndIf
If er = $401 And EventSource() = Button2 Then
Goto PDF
EndIf
Forever


.PDF
p  = PDF_new()                                    ; Assign a pointer to a new PDF document
of = PDF_open_file(p,"Test.pdf")               ; Create an empty file and assign it to the pointer
If of = -1 Then Print "Error - couldn't open PDF file":End  ; Check if there is write access to the file

PDF_set_info(p,"Creator","BlitzPDF v0.0.1.0")            ; Set some document infos
PDF_set_info(p,"Author","Kay Arnesen, www.pcakutt.no")
PDF_set_info(p,"Title","Hello World (Blitz)")

PDF_begin_page(p,595.0,842.0)                        ; Start a new page in A4 format

imgf=PDF_open_image_file(p,"jpeg","test.jpg","",0)   ; Assign and open image file
PDF_place_image(p,imgf,135,800,1)                     ; Place image in document
PDF_close_image(p,imgf)   

font = PDF_findfont(p,"Arial","host",0)                  ; Get a font from windows
PDF_setfont(p,font,24.0)                           ; Set font and it's size
PDF_set_text_pos(p,80.0,450.0)                        ; Set text position
PDF_show(p,TextAreaText(textarea1))   ; Print text to document

imgf=PDF_open_image_file(p,"jpeg","blitzbasic.jpg","",0)   ; Assign and open image file
PDF_place_image(p,imgf,135,500,1)                     ; Place image in document
PDF_close_image(p,imgf)                              ; Clear image from memory



font = PDF_findfont(p,"Helvetica-Bold","host",0)
PDF_setfont(p,font,36)
PDF_set_text_pos(p,150.0,450.0)
               ; Continue writing text
PDF_end_page(p)                                    ; End current PDF page

PDF_close(p)                                    ; Close PDF file
PDF_delete(p)                                    ; Delete PDF from memory

ExecFile "Test.pdf"
End


Mein Problem ist jetzt das immer wenn der Text in der Textarea untereinander steht dann passiert dass aber nicht in dem PDF Document.
Und wenn ich etwas zu langes in die Textarea schreibe dann wird es auch so in das PDF docu. eingetragen und ein Teil des Satzes ist dann nicht zu sehen.


Arrow Wie Kann ich diese Sachen bereinigen ???

Vertex

BeitragFr, Jul 07, 2006 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du jetzt Zeilenumbrüche?

Ich geh mal stark davon aus, dass PDF_show keine Zeilenumbrüche erlaubt. Du musst jede Zeile einzeln einschreiben. Sieh dir dazu mal PDF_show_continue an. Der versetzt die Y Position für jede Zeile autom. mit den angegebenen Zeilenabstand. Oder vllt. PDF_show_boxed().

mfg olli

Lifetec

BeitragFr, Jul 07, 2006 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt habe ich das gemacht. Aber jetzt druckt er keinen Text mehr.
Code: [AUSKLAPPEN]

PDF_show_boxed(p,TextAreaText(textarea1),100,20,10,1,0,0)

Warum Question

AMY

BeitragFr, Jul 07, 2006 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist ja toll das man auch mit PDF arbeiten kann. Wo habt ihr den Code(Dll und decls) her? Wo kann man den runterladen? kann ich gut für ein Projekt gebrauchen. Oder ist das nicht freeware?
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read!

Dante

BeitragFr, Jul 07, 2006 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Das gibt es schon etwas länger^^

http://www.blitzbasic.com/code...?code=1513
Viel Spaß

MfG

Vertex

BeitragSa, Jul 08, 2006 0:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mal ein Test dafür geschrieben:
Code: [AUSKLAPPEN]
SuperStrict

Framework PUB.PDFLib
Import BRL.LinkedList
Import BRL.StandardIO

Const OUTPUT      : String = "C:\test.pdf"
Const PAGE_WIDTH  : Float  = 400.0
Const PAGE_HEIGHT : Float  = 400.0
Const FONT_HEIGHT : Float  = 10.0

Global PDF      : Int
Global Font     : Int
Global Text     : String

PDF = PDF_new()
If(PDF_open_file(PDF, OUTPUT) = -1) Then
   Print("Error open file")
   End
EndIf

PDF_begin_page(PDF, PAGE_WIDTH, PAGE_HEIGHT)

Font = PDF_findfont(PDF, "helvetica", "host", 0)
PDF_setfont(PDF, Font, FONT_HEIGHT)

Text = "~qDenn nichts ist schwerer und nichts erfordert mehr Charakter,~r~n" + ..
       "als sich in offenem Gegensatz zu seiner Zeit zu befinden~r~n" + ..
       "und laut zu sagen: Nein~q~r~n~r~n" + ..
       "Kurt Tucholsky"

PDF_show_boxed(PDF, Text, 20.0, 20.0, ..
               PAGE_WIDTH - 40.0, PAGE_HEIGHT - 40.0, "left", "")

PDF_end_page(PDF)

PDF_close(PDF)


Klappt wunderbar. TextAreaText liefert ja auch nix anderes zurück, als alle Zeilen getrennt durch Chr$(13)+Chr(10) was bei BMax "~r~n" entspricht.

Er reagiert auf die Zeilenumbrüche. Wird die Box kleiner, fügt er autom. noch welche hinzu.

mfg olli

Lifetec

BeitragSa, Jul 08, 2006 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Immer wenn ich deinen Code starte kommt

Code: [AUSKLAPPEN]

Constants must be initialized


Was bedeutet das ?
Was mach ich falscj ?

Goodjee

BeitragSa, Jul 08, 2006 12:02
Antworten mit Zitat
Benutzer-Profile anzeigen
mit bplus kanns auch net funzen..
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

AMY

BeitragSa, Jul 08, 2006 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
mit welchen blitz versionen funktioniert es denn? Ich hoffe auch mit B3D. Ansonsten müsste ich nen extra exe erstellen.
BMax ist ja sehr schwer soweit wie ich es bisher mitbekommen habe.
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read!

Lifetec

BeitragSa, Jul 08, 2006 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie so geht das nicht mit BlitzPlus ?
Und wie kann ich es amchen das es mit BlitzPlus funkt.

Goodjee

BeitragSa, Jul 08, 2006 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
mit bmax... guck dir doch den code mal an den du kopierst....
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Lifetec

BeitragSa, Jul 08, 2006 13:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber auf der Hompage steht das er für .bb ist.

Vertex

BeitragSa, Jul 08, 2006 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist BMax Code von mir. Für BMax hat Farbfinsternis ein Modul erstellt. Das ist aber nicht das Entscheidente. Das Wichtigste sind ja die PDF Befehle, die mit BlitzPlus identisch sind.
mfg olli

Lifetec

BeitragMo, Jul 10, 2006 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie muss ich das denn mit Blitz Plus machen ?????

Jan_

Ehemaliger Admin

BeitragDi, Jul 11, 2006 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
am besten, du schaust dir das Bmax modul an,
machst daraus ne Userlib,
und machst es genauso.
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group