2009-08-02 9 views
1

Je souhaite créer un fichier de sortie imprimable à partir de Squeak, par exemple pour créer un rapport.Génération d'une sortie imprimable dans Squeak

J'ai fait un peu de googling et je suis surpris par le peu de matériel disponible sur les exemples de création de fichiers imprimables. Cependant, j'ai trouvé une classe de classes appelée PostscriptCanvas et EPSCanvas et une méthode appelée morphAsPostscript.

Pour essayer ces classes sur j'ai créé un petit exemple de code et mon premier exemple de l'espace de travail était:

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) 

malheureusement le dessus ne fonctionne pas et arrête avec doesNotUnderstand #pageBBox.

lorsque je tente l'exemple à nouveau, mais cette fois en utilisant la classe EPSCanvas:

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). 

cette fois, je produis de sortie, mais les coins de la boîte ne sont pas arrondis dans le fichier EPS (ils sont arrondis sur la écran).

Alors, mes questions sont les suivantes:

  1. Suis-je sur la bonne voie dans la mesure de générer une sortie imprimable ou devrais-je utiliser une autre technique?
  2. Pourquoi le premier exemple plante-t-il avec doesnotUnderstand #pageBBox?
  3. Pourquoi le deuxième exemple presque fonctionne mais ne rend pas les coins arrondis?

Merci Kevin

Répondre

2

Il est non seulement Squeak - produire une sortie imprimable est redoutablement difficile dans un langage de programmation. Chaque fois que j'ai fait la planification du projet et que les gens mentionnent les rapports, je double immédiatement (au moins) les estimations du projet. Personnellement, je recommande d'écrire les données dans un format bien connu tel que XML ou CSV, puis d'utiliser un package d'écriture de rapport pour produire les rapports réels.

Nous sommes désolés, nous ne pouvons vous aider!

Questions connexes