Repository 32bit  Forum
Repository 64bit  Wiki

Creare script pdfnup

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Creare script pdfnup

Messaggioda Absolut » dom apr 27, 2008 11:58

Visto che nessuno ha accolto l'invito mi ci sono messo io, per questo edito il post. Ma mi date una piccola mano!?

thanks!



Avevo l'esigenza di mettere più pagine pdf su un unico foglio: le varie alternative kpdf, evolutio, xpdf e acrobat non mi facevano stamapre su file pdf, 4 pagine a foglio. googlelando ho trovato questo tool "pdfnup" che in un secondo mi ha fatto ottenere quello che volevo.
Ho anche notato che molti hanno questa esgenza, allora ho pensato che sarebbe utile creare un piccolo script, magari anche con una interfaccia grafica per eseguire il tutto. Sfortunatamente non sono un programmatore.... c'è quindi qualche volontario interessato all'idea?
Ultima modifica di Absolut il dom apr 27, 2008 20:54, modificato 2 volte in totale.
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current

Creare scipt pdfnup?!?!?

Messaggioda birg81 » dom apr 27, 2008 12:29

Absolut ha scritto:...
Ho anche notato che molti hanno questa esgenza, allora ho pensato che sarebbe utile creare un piccolo script, magari anche con una interfaccia grafica per eseguire il tutto. Sfortunatamente non sono un programmatore.... c'è quindi qualche volontario interessato all'idea?



Ma ti crea un file pdf che fa la "fusione" di più pdf o semplicemente ti invia alla stampante ciò che tu vuoi??!

[Forse mi sono spiegato da libro stracciato abbiate pietà]
birg81
Linux 2.6
Linux 2.6
 
Messaggi: 760
Iscritto il: lun gen 16, 2006 10:57
Località: Castellammare di Stabia (NA)
Nome Cognome: Biagio
Slackware: 12.2
Kernel: 3.4.7
Desktop: LxDE
Distribuzione: ArchLinux

Re: Creare scipt pdfnup

Messaggioda Absolut » dom apr 27, 2008 13:44

crea un file pdf... di e da più file pdf, sia da un file pdf ma con piu pagine in un foglio!
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current

Re: Creare scipt pdfnup

Messaggioda Absolut » dom apr 27, 2008 17:25

ok mi ci sono cimentato un po... ma mi manca sapere una cosa.

come si fa in uno script bahs a dare in input un file? non so digitandone un percorso?

thanks!
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current

Re: Creare scipt pdfnup

Messaggioda Absolut » dom apr 27, 2008 17:56

Allora ho imparato a dare in input il percorso di un file:

Codice: Seleziona tutto
read -p "Documento:    " doc


poi quando gli faccio eseguire il comando do
Codice: Seleziona tutto
pdfnup [tutte le opzioni] "$doc"


giusto?!

il problema è che quando lo eseguo alla fine mi ritorna:

Codice: Seleziona tutto
This is pdfnup version 1.20
Processing /home/enrico/Documents/matlab uwb/UWB_Lecture_01_Introduction_2008.pdf...
  Temporary LaTeX file for this job is /home/enrico/tmp/16114206593805-1.tex
  Calling pdflatex...
cp: cannot stat `/home/enrico/tmp/16114206593805-1.pdf': No such file or directory


Invece quella directory c'è! ho opportunamente modificato il file pdfnup e l'ho creata. comunque il problema me lo dava anche con la versioen originale di pdfnup che aveva la dir temporanea in /vat/tmp, e anche questa c'èra.

cosa accade!?

thanks!
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current

Re: Creare scipt pdfnup

Messaggioda Absolut » dom apr 27, 2008 18:04

per ora risolto, ma non sembra funzionare molto... ci smanetto un po poi posto il codice...
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current

Re: Creare scipt pdfnup

Messaggioda Absolut » dom apr 27, 2008 18:32

Allora non mi funziona bene! per niente!
Ecco il codice:

Codice: Seleziona tutto
#!/bin/sh

nups=2x1                ## two logical pages side by side
papers=a4paper          ## alternatives are other LaTeX paper sizes
orients=auto            ## alternatives are landscape and portrait
pagess=all
turns=true              ## landscape pages are landscape-oriented
noautoscales=false      ## scale logical pages to fit
columns=false           ## don't use column-major ordering
columnstricts=false     ## (see the pdfpages manual)
deltas="0 0"            ## no space between logical pages
offsets="0 0"           ## output centred on physical page
trims="0 0 0 0"         ## don't trim the logical pages
scales=1.0              ## don't scale the resultant pages
openrights=false        ## don't insert blank page at front of document
tidys=true             ## delete all temporary files immediately

x=null
doc=null

read -p "Inserisci il numero di pagine desiderate in una apgina nella forma NumxNum: " nups
read -p "Orientamento: premi "v" per verticale o "o" per orizzontale:  "  x
                              case "$x" in
                              v) orients=portrait;;
                              o) orients=landscape;;
                              esac
read -p "Documento:    " doc
pdfnup --nup nups --orient orients --paper papers "$doc"

#--turn turns --pages pagess --noautoscale noautoscales --turn turns--column columns --delta deltas --offset ofsets --trim trims --scale sclaes --openright openrights


L'ultima riga sono tutti i parametri che poi gli do, per ora sto facendo solo le cose elementari.
le variabili iniziali sono quelle di configurazione di pdfnup, l'idea è chiedere all'utente se vuole fare delle cose e modificarli di conseguenza. Hanno tutti la lettera finale in "s" cosi che l'orientamento ad esempio gli viene passato come --orient orients e orients viene determinato dalla scelta dell'utente.

mi sa che il ciclo case è bagliato, non so bene come gestire le varibili!!!
mi aiutate!?
thanks!
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current

Re: Creare scipt pdfnup

Messaggioda Absolut » dom apr 27, 2008 19:21

piano piano ci sto riuscendo! sbagliavo un po di cose nel codice di prima. Questa prima bozza mi funziona,

Codice: Seleziona tutto
#!/bin/sh

nups=2x1                ## two logical pages side by side
papers=a4paper          ## alternatives are other LaTeX paper sizes
orients=auto            ## alternatives are landscape and portrait
pagess=all
turns=true              ## landscape pages are landscape-oriented
noautoscales=false      ## scale logical pages to fit
columns=false           ## don't use column-major ordering
columnstricts=false     ## (see the pdfpages manual)
deltas="0 0"            ## no space between logical pages
offsets="0 0"           ## output centred on physical page
trims="0 0 0 0"         ## don't trim the logical pages
scales=1.0              ## don't scale the resultant pages
openrights=false        ## don't insert blank page at front of document
tidys=true             ## delete all temporary files immediately

x=null
doc=null

read -p "Inserisci il numero di pagine desiderate in una apgina nella forma NumxNum: " nups
echo "Orientamento pagina: premi "v" per verticale o "o" per orizzontale:  " 
read x
                              
case "$x" in
"v") orients="portrait";;
"o") orients='landscape';;
esac

read -p "Documento:    " doc

pdfnup --nup "$nups" --orient "$orients" --paper "$papers" --turn "$turns" --pages "$pagess" --trim "$trims" "$doc"
Avatar utente
Absolut
Linux 3.x
Linux 3.x
 
Messaggi: 1465
Iscritto il: gio feb 10, 2005 0:00
Località: Roma
Slackware: current


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron