[Python] Taglia e cuci di PDF

Manlio Perillo manlio.perillo a gmail.com
Ven 19 Set 2014 14:32:45 CEST


2014-09-19 14:08 GMT+02:00 Daniele Varrazzo <piro a develer.com>:

> [...]

Proprio pochi minuti fa mi e' venuto in mente che sia chordlab che rst2pdf
> usano reportlab come motore di rendering. Anziche' usare chordlab come
> processo esterno potrei usarlo come libreria e scrivere nello stesso
> documento che sto generando.
>
>
Potrebbe essere una alternativa, ma significa fare a meno di reST ed usare
reportlab per la gestione del documento finale.


>
>  Io proverei a scrivere il "renderer" del tuo formato chopro, che generi un
>> documento reST, usando delle direttive custom per la formattazione che ti
>> serve.
>>
>
> Scrivere quelle direttive potrebbe non essere proprio banale, in
> particolare riguardo lo spostare il "cursore" per scrivere gli accordi
> sopra al testo:


Si, non è banale perchè, come scrivevo, reST non è "formatting oriented".


> chordlab lo fa parlando direttamente con reportlab; passare per docutils
> comporta che comunque quei programmi dovranno bypassare un po' di
> infrastruttura docutils e interagire col renderer. Quindi a questo punto il
> mio formato e' fortemente legato al formato di input.


Perchè?
Usi un elemento dell'AST di reST e poi definisci come renderizzarlo in PDF.
Al limite quindi il tuo formato diventa legato al formato di output, non di
input.

Tra l'altro in
https://github.com/hammeruke/hug-chords/blob/songbook/books/songbook.py

non stai già usando reportlab per definire come renderizzare il tuo
elemento SongSheet?

Ti basta definire un elemento SongLine o SongFragment ed usare reportlab
per la formattazione, a meno che non mi stia perdendo qualche pezzo
importante...

Credo tu non abbia nemmeno bisogno di generare il documento reST
intermedio, ma puoi generare l'AST direttamente e renderizzarlo in PDF.
 Rispetto a reportlab almeno hai tutte le feature "document oriented" di
reST.

Tutto questo è solo ad intuito, non avendo mai utilizzato reST per fare
cose più complicate di un rst2html di un documento standard, ma mi stupirei
se non fosse possibile.


> [...]


Ciao  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140919/0c8167e0/attachment-0001.html>


Maggiori informazioni sulla lista Python