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à.
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 382
Iscrizione: domenica 12 gennaio 2014, 9:36
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

pdf2shrink: piccola utility per comprimere pdf

Messaggio da ubuntu452 »

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
Avatar utente
rpadovani
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3434
Iscrizione: lunedì 8 dicembre 2008, 19:49
Desktop: GNOME Shell
Distribuzione: Ubuntu 18.04 x86_64
Sesso: Maschile
Località: Munich, Germany
Contatti:

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggio da rpadovani »

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.
Solutions Architect at nextbit | About me
Changing the world bit by bit
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 382
Iscrizione: domenica 12 gennaio 2014, 9:36
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggio da ubuntu452 »

Hai ragione. :D
Ma per quanto riguarda il print() preferisco fare così.
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggio da crap0101 »

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
ubuntu452
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 382
Iscrizione: domenica 12 gennaio 2014, 9:36
Desktop: Unity
Distribuzione: Ubuntu 15.04
Sesso: Maschile

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggio da ubuntu452 »

Non capisco cosa ha di male argv[]??? Argparse, l'ho utilizzato in altri script, però mi trovo meglio con argv[].
Avatar utente
crap0101
Rampante Reduce
Rampante Reduce
Messaggi: 8242
Iscrizione: martedì 30 ottobre 2007, 6:33
Desktop: LXDE
Distribuzione: Ubuntu 18.04.1 LTS
Sesso: Maschile
Località: TO
Contatti:

Re: pdf2shrink: piccola utility per comprimere pdf

Messaggio da crap0101 »

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
Scrivi risposta

Ritorna a “Progetti della Comunità”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti