Come ritagliare e dividere un PDF online e in LaTeX ma senza usarlo

Pubblicato da Nicola Rainiero il 02-04-2015 (aggiornato il 07-07-2019)

Mi si presenta spesso il problema di dover ritagliare e suddividere le pagine di documenti in PDF, una vera seccatura che mi costringe o ad usare programmi dedicati a ad andare alla ricerca manuale delle coordinate per riadattare un mio vecchio file LaTeX. Ho così scritto un modello più funzionale che supera questi inconvenienti e sfruttando TikZ, Overleaf o un editor TeX con live update, mi permette di tagliare e rifilare un PDF senza dover conoscere LaTeX. Segue la guida passo passo con tre semplici esempi in una pratica presentazione.

Nell'articolo Ritagliare un intero PDF con LaTeX ho mostrato quanto sia potente LaTeX per ritagliare iterativamente un PDF con il pacchetto includepdf, dopo aver trovato le parti esatte da salvare. Tuttavia presenta due aspetti negativi:

  1. perdita di tempo per la ricerca delle coordinate con la necessità di usare altri software esterni (Inkscape, Gimp o PDF Reader per esempio);
  2. diversi processi di compilazione nell'editor TeX per sistemare il tutto.

Quindi unendo le funzionalità di Overleaf1, un editor online descritto in LaTeX online? Con WriteLaTeX è possibile! e le capacità grafiche di TikZ, ho trovato un modo più veloce per dividere e ritagliare le pagine in un PDF con e senza l'uso di LaTeX: è sufficiente cambiare alcune linee di codice.

Si può anche restare in ambito locale usando un editor TeX con anteprima in tempo reale. Grazie al Confronto tra gli editor TeX ho scoperto l'esistenza di Gummi, un editor molto semplificato ma con un efficiente e immediato live update.

Con il nuovo approccio è adesso possibile lavorare su un PDF in due passi successivi sempre rimanendo all'interno dello stesso editor e modificando un unica parte di testo. Nel primo si evidenzia la regione o le due regioni che si vogliono estrapolare, invece nel secondo si ottiene l'uscita finale: se soddisfa allora si può procedere a salvare il PDF, altrimenti si ritorna al primo step e si ridefiniscono le dimensioni delle regioni. Sotto ho messo una presentazione che mostra quanto è semplice il tutto, evidenziando tre possibili ambiti di utilizzo.

Requisiti

  • Nessuno in Overleaf, ma una registrazione è necessaria per poter caricare i propri PDF e per editare il mio modello.
  • Nel proprio computer oltre a LaTeX c'è bisogno di un editor e dei seguenti pacchetti: mathptmx, moresize, comment, ifthen, pdfpages, tikz (presenti quasi tutti in una tipica installazione LaTeX).

Come funziona

L'intero processo può essere riassunto con l'infografica qui sotto e ad seguire l'unico pezzo di codice da modificare per ottenere il PDF finale.

Infografica: Come ritagliare e dividere un PDF online e in LaTeX ma senza usarlo

% <---------------------------- EDIT THIS AREA ONLY ----------------------------------->



% Default style and colour of the cutter

\tikzset{marker/.style={draw=blue,fill=blue, opacity=0.25}}



%% Every time one of the following must be activated and the others deactivated
%% \includecomment{...} --> means turn ON
%% \excludecomment{...} --> means turn OFF
\includecomment{first}   	% for discovering the dimension of the cuts
\excludecomment{second}		% for printing a cleaned and trimmed PDF
\excludecomment{third}		% for joining the pages of the II stage without white spaces
							% (save and use the new PDF before to do it)

%%
%% Define the file name and the dimension of your PDF
%% Put the size in mm
%% The typical size of an A4 document is 210x297 mm
\newcommand\units{mm}					% <--- set the units (default mm)
\newcommand\fileName{two_side.pdf}		% <--- the name of the PDF to process
\newcommand\width{420} 					% <--- the width size in mm of your PDF
\newcommand\height{297} 				% <--- the height size in mm of your PDF

%%
%% 							Do you want to crop the white spaces around the PDF?
%%
\newcommand\crop{1} 					% <-- "0" FALSE "1" TRUE
% If true put the dimension of the virtual rectangle that covers the pages
\newcommand\cutterW{150} 				% <--- the width size in mm of your cutter
\newcommand\cutterH{280} 				% <--- the height size in mm of your cutter

%%
%% 							Do you want to cut two sections per page?
%%
\newcommand\double{1} 					% <--- "0" FALSE "1" TRUE
%% If true put x_i, y_i the coordinates for moving the virtual rectangle in the page
%% the system start at the bottom left of the whole page
%% YOU CAN PUT ONLY INTEGER NUMBER
%% first rectangle in page (generally odd) or the only one
\newcommand\xOdd{30}					% <-- x_1
\newcommand\yOdd{3}						% <-- y_1
%% second rectangle in page (generally even)
\newcommand\xEven{242}					% <-- x_2
\newcommand\yEven{3}					% <-- x_2

%%
%% 							How many pages do you want to process?
%% default pages + 1, pages +0 if there are two page increment in the 2 step
\newcommand\numberPages{6} 				% <--- the numbers of pages
\newcommand\firstPage{1} 				% <--- fix the first page to start

% <---------------------------- EDIT THIS AREA ONLY  ----------------------------------->

Editando questa area, si possono controllare tutti gli step ed il processo di taglio e rifinitura a partire dal PDF caricato. Il mio modello si può copiare o scaricare da Overleaf e GitHub:

Guida passo passo


How to crop and split a PDF (in LaTeX, without using it) di Nicola Rainiero

  • 1. Overleaf è il nuovo sistema di scrittura e pubblicazione sviluppato dalla stessa società dell'editor writeLaTeX. È pensato per rendere tutto il processo di scrittura, modifica e produzione di articoli scientifici più veloce, sia per gli autori che per gli editori. Overleaf è uno strumento collaborativo di scrittura e pubblicazione con integrato una anteprima in PDF. Qui c'è il mio collegamento per registrarsi a Overleaf.



Potrebbero interessarti anche:

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.

Commenti