pdf2shrink: piccola utility per comprimere pdf

Iniziative e progetti della comunità legati a Ubuntu.
Regole della sezione
Questa sezione ha lo scopo di raccogliere le iniziative/progetti della nostra Comunità legati ad Ubuntu. I progetti ospitati nascono da iniziative degli utenti o gruppi di utenti. In futuro i progetti potrebbero rimanere iniziative "personali" o essere integrate nella distribuzione, sponsorizzate da Ubuntu o da Canonical a discrezione dei responsabili. All'interno di essa sarà possibile inserire delle discussioni che hanno la funzione di pubblicizzare avvenimenti, iniziative e progetti software su Ubuntu e GNU/Linux in generale. Sarà inoltre possibile per gli utenti proporre lo sviluppo di nuovi software e in questo caso la discussione di richiesta avrà la funzione di generare un requisito funzionale del prodotto da sviluppare.

Sezione I - Iniziative
  • Fanno parte di iniziative, ad esempio, le seguenti categorie: corsi, progetti editoriali, libri.
  • La segnalazione di un'iniziativa avviene creando una discussione con l'annuncio.
  • Una volta effettuata la segnalazione, la discussione viene chiusa dal Gruppo Forum.
  • Se l'iniziativa esposta comporta un costo di adesione o fruizione, questo deve essere esplicitamente riportato all'interno della discussione.
  • È obbligatorio segnalare all'interno della discussione i riferimenti per poter contattare/partecipare all'iniziativa.

Sezione II - Progetti
  • La segnalazione di un progetto software, come per le iniziative, avviene e si sviluppa all'interno di una singola discussione.
  • Sarà consentito l'inserimento di software solo se rilasciati sotto licenza GPL (in tutte le sue versioni) o equivalente FOSS, tale da garantire agli utenti l'utilizzo del prodotto senza restrizioni e agli sviluppatori la proprietà intellettuale del codice prodotto.
  • Nell'oggetto della discussione dovrà essere riportata la categoria (es. [Iniziativa], [Progetto] o [Proposta]) e una semplice descrizione del progetto.
  • Se il progetto ha già un sito che lo ospita sarà a discrezione del Gruppo Forum chiuderla come segnalazione o lasciarla aperta.
  • Se il progetto non ha un sito che lo ospita si potranno aprire due discussioni, una per proporre modifiche/implementazioni (dove nel titolo occorre specificare [sviluppo]) ed una per segnalare problemi (e nel titolo dovrà comparire [supporto]).
  • Non è consentita l'apertura di nuove discussioni in riferimento a versioni superiori o modificate di un prodotto già riportato in precedenza.
  • Se il software oggetto del progetto ha una dimensione non superiore ai 128 kB, per prodotti che non hanno un sito che li ospita, sarà possibile allegarlo alla discussione.

Sezione III - Proposte
  • Una proposta deve essere eseguita e si svilupperà all'interno di una singola discussione.
  • Le proposte dovranno essere inserite direttamente nella sezione "Progetti della Comunità".
  • Dovranno essere specificate le funzionalità che devono essere sviluppate.
  • Non dovranno essere riportate diciture tipo "...deve fare come questo software...", ma indicare nel miglior modo possibile i requisiti.
  • Una volta segnalata la discussione resterà aperta per consentire uno scambio di idee su come sviluppare il codice o finché gli sviluppatori non forniranno una soluzione (da pubblicizzare poi, come visto prima, nella sezione Progetti) che ne soddisfi il requisito.

Per quanto non esposto sopra, si fa comunque riferimento al Regolamento del forum ed al Codice di Condotta della Comunità.

pdf2shrink: piccola utility per comprimere pdf

Messaggioda ubuntu452 » venerdì 2 ottobre 2015, 20:52

Ciao a tutti, ho creato una piccola utility per comprimere PDF rilasciato con licenza GPL3.
Con pdf2shrink ci sono tre livelli di compressione:
low = si risparmia circa il 20%
medium = si risparmia circa il 50%
high = si risparmia circa il 60-70%(ma diventa illeggibile se ci sono immagini).
Il programma richiede pdftk e ghostscript.
Con ubuntu/debian:
Codice: Seleziona tutto
sudo apt-get install pdftk ghostscript

Il link:
https://www.github.com/alfredobonino/pdf2shrink
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 382
Iscrizione: gennaio 2014
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggioda rpadovani » domenica 4 ottobre 2015, 12:23

Alcuni suggerimenti sulla logica del codice:

if len(argv) > 1:

In generale i controlli è meglio implementarli 'stretti', quindi if len(argv) == 1:.


Per il print, invece che scriverli mille volte (fra l'altro con le parentesi? È bruttissimo da vedere), fallo così:

Codice: Seleziona tutto
print 'pdf2shrink - A simple utility for compress pdf files\n' \
      '----------------------------------------------------\n' \
           'Created by Alfredo Bonino'


Ma ancora meglio sarebbe creare la docstring della funzione, e poi chiamare help() sulla funzione, che evita tutta sta trafila inutile ed è molto meglio.
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3427
Iscrizione: dicembre 2008
Località: Munich, Germany
Desktop: Unity 7
Distribuzione: Ubuntu 16.04 x86_64
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggioda ubuntu452 » domenica 4 ottobre 2015, 19:05

Hai ragione. :D
Ma per quanto riguarda il print() preferisco fare così.
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 382
Iscrizione: gennaio 2014
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggioda crap0101 » lunedì 5 ottobre 2015, 16:59

Le parentesi dei print sono *necessarie*, essendo il codice scritto per funzionare con python3, non c'è molta scelta.
Riguardo il resto del codice, ho le stesse preplessità che ti avevo già espresso in passato su altri codici del genere... potresti almeno usare argparse per avere una presentazione e un'interfaccia più consistente (e comoda anche per te) al resto dei programmi "standard".
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
 
Messaggi: 8144
Iscrizione: ottobre 2007
Località: TO
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.3 LTS
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggioda ubuntu452 » martedì 6 ottobre 2015, 15:25

Non capisco cosa ha di male argv[]??? Argparse, l'ho utilizzato in altri script, però mi trovo meglio con argv[].
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 382
Iscrizione: gennaio 2014
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggioda crap0101 » mercoledì 7 ottobre 2015, 19:18

il problema è cosa non ha: perchè reinventarsi a ogni programma un parser per la cmdline quando ce n'è uno già fatto? Se il tuo programma accettta zero o al massimo un paio di argomenti (ma anche qui dipende) può bastare testarli personalmente, altrimenti con argparse è molto più comodo.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
 
Messaggi: 8144
Iscrizione: ottobre 2007
Località: TO
Desktop: Lubuntu
Distribuzione: Ubuntu 14.04.3 LTS
Sesso: Maschile


Torna a Progetti della Comunità

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 1 ospite