[Python] Taglia e cuci di PDF

Manlio Perillo manlio.perillo a gmail.com
Ven 19 Set 2014 13:05:25 CEST


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

> Ciao,
>
> ho un problema veramente fico da risolvere: sto scrivendo un programma per
> scrivere un libro di canzoni con accordi per il mio gruppo di suonatori
> principianti di ukulele.
>
> > [...]
>
> O meglio, per ora questa direttiva non c'è: sto lavorando ad un livello
> più basso, che è una direttiva che permette di inserire un pdf qualunque in
> mezzo al documento; la direttiva "songsheet" deriverebbe da "include-pdf" e
> dietro le quinte lancerebbe chordlab per generare il pdf della canzone e
> poi includerebbe quello. Quindi si lancia rst2pdf con questa estensione:
>
> https://github.com/hammeruke/hug-chords/blob/songbook/books/songbook.py
>
>
> > [...]


> Problema! Mi si rompe l'indice! Mannaggia. Se non sostituisco le pagine
> l'indice funziona. Ma se le rimpiazzo cliccando sull'indice il pdf non va
> da nessuna parte. Probabilmente nella pagina che rimuovo c'è l'àncora del
> punto di arrivo: l'indice punta a quella, non genericamente "a pagina 3".
> La soluzione sarebbe, sempre con pyPdf, quella di ispezionare la pagina da
> rimuovere, trovare l'ancora e iniettarla nel pdf da inserire...
>
> Beh, qualcuno ha una vaga idea di come si possa fare? :) Qualcuno sa come
> sono rappresentati i (credo siano) bookmark e outline entry in un pdf
> (questi sono gli elementi che rst2pdf chiede di generare a reportlab), come
> estrarli da un pdf esistente e come iniettarli in uno nuovo?
>
>
Ti aspetta un altro bel fine settimana a leggere il PDF Reference :).
Io ho quella della versione 1.4, usata anni fa per scrivere un generatore
di PDF ottimizzato.

Comunque secondo me la via che stai seguendo è troppo complicata.
Ci deve essere un altra soluzione.

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.

Non è immediato come con LaTeX, visto che reST è "document oriented", ma
dato che puoi definire come i vari elementi vanno renderizzati nel formato
di output dovrebbe essere possibile con il vantaggio di doverti integrare
*solo* con reST.


> [...]

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


Maggiori informazioni sulla lista Python