2009-08-02 7 views
1

Ich möchte eine druckbare Ausgabedatei innerhalb von Squeak erstellen, um beispielsweise einen Bericht zu erstellen.Druckbare Ausgabe innerhalb von Squeak erzeugen

Ich habe ein wenig gegoogelt und bin überrascht, wie wenig Material in der Art von Beispielen in Bezug auf die Erstellung druckbarer Dateien existiert. Allerdings habe ich ein paar Klassen namens PostscriptCanvas und EPSCanvas und eine Methode namens morphAsPostscript gefunden.

Um diese Klassen auszuprobieren ich war ein kleines Codebeispiel und mein erster Arbeitsplatz Beispiel erstellt:

p := PasteUpMorph new. 
p extent: [email protected] 
p position: [email protected] 
p borderColor: Color black. 
p setProperty: #cornerStyle toValue: #rounded. 
p openInWorld. 
(FileStream newFileNamed: 'test1.ps') nextPutAll: (PostscriptCanvas morphAsPostscript: p) 

leider oben ist das nicht und hält mit doesNotUnderstand #pageBBox.

wenn ich versuche, das Beispiel wieder, aber dieses Mal mit der EPSCanvas Klasse:

p := PasteUpMorph new. 
p extent: [email protected] 
p position: [email protected] 
p borderColor: Color black. 
p setProperty: #cornerStyle toValue: #rounded. 
p openInWorld. 
(FileStream newFileNamed: 'test2.eps') nextPutAll: (EPSCanvas morphAsPostscript: p). 

ich diesmal erzeugen Ausgabe aber die Ecken der Box nicht in der EPS-Datei abgerundet sind (sie auf die gerundet werden Bildschirm).

Also, meine Fragen sind:

  1. Bin ich auf dem richtigen Weg, so weit als druckbare Ausgabe zu erzeugen, oder sollte ich eine alternative Technik verwenden?
  2. Warum stürzt das erste Beispiel mit doesnotUnderstand #pageBBox?
  3. Warum funktioniert das zweite Beispiel fast funktioniert aber nicht die abgerundeten Ecken?

Dank Kevin

Antwort

2

Es ist nicht nur Squeak - druckbare Ausgabe erzeugt in einer beliebigen Programmiersprache schwierig fearsomely ist. Wann immer ich die Projektplanung gemacht habe und die Leute Berichte angaben, verdoppelte ich (zumindest) die Projektschätzungen. Persönlich würde ich empfehlen, die Daten in einem bekannten Format wie XML oder CSV in eine Datei zu schreiben und dann ein Report-Writing-Paket zu verwenden, um die eigentlichen Berichte zu erstellen.

Entschuldigung, nicht hilfreicher zu sein!