mirror of https://gitlab.com/curben/blog
				
				
				
			post(pdf-compress): rename original file
This commit is contained in:
		
							parent
							
								
									d4fefb225f
								
							
						
					
					
						commit
						1b77cdd383
					
				|  | @ -53,10 +53,14 @@ Use the following script to compress all PDFs in a folder. | ||||||
| 
 | 
 | ||||||
| Usage: `sh pdfcompress.sh 'target folder'` | Usage: `sh pdfcompress.sh 'target folder'` | ||||||
| 
 | 
 | ||||||
|  | *If `'target folder'` is not specified, defaults to current directory.* | ||||||
|  | 
 | ||||||
| ```bash | ```bash | ||||||
| #!/bin/sh | #!/bin/sh | ||||||
| 
 | 
 | ||||||
| cd "$1" | if [ -n "$1" ]; then | ||||||
|  |   cd "$1" | ||||||
|  | fi | ||||||
| 
 | 
 | ||||||
| for i in *.pdf; do | for i in *.pdf; do | ||||||
|     [ -f "$i" ] || break |     [ -f "$i" ] || break | ||||||
|  | @ -64,8 +68,7 @@ for i in *.pdf; do | ||||||
|   # Skip compressed PDFs |   # Skip compressed PDFs | ||||||
|   echo "$i" | grep --quiet ".compressed.pdf" |   echo "$i" | grep --quiet ".compressed.pdf" | ||||||
| 
 | 
 | ||||||
|   if [ $? = 1 ] |   if [ $? = 1 ]; then | ||||||
|   then |  | ||||||
|     gs \ |     gs \ | ||||||
|       -sOutputFile="${i%.*}.compressed.pdf" \ |       -sOutputFile="${i%.*}.compressed.pdf" \ | ||||||
|       -sDEVICE=pdfwrite \ |       -sDEVICE=pdfwrite \ | ||||||
|  | @ -80,5 +83,36 @@ for i in *.pdf; do | ||||||
| done | done | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | If you prefer to use the original filename as the compressed version and rename the original uncompressed's to "*.original.pdf", | ||||||
|  | 
 | ||||||
|  | *Following script doesn't skip previously compressed PDFs* | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | if [ -n "$1" ]; then | ||||||
|  |   cd "$1" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | for i in *.pdf; do | ||||||
|  |   [ -f "$i" ] || break | ||||||
|  | 
 | ||||||
|  |   # Rename original file to *.original.pdf | ||||||
|  |   original="${i%.*}.original.pdf" | ||||||
|  |   mv "$i" "$original" | ||||||
|  | 
 | ||||||
|  |   gs \ | ||||||
|  |     -sOutputFile="$i" \ | ||||||
|  |     -sDEVICE=pdfwrite \ | ||||||
|  |     -dPDFSETTINGS=/ebook \ | ||||||
|  |     -sColorConversionStrategy=Gray \ | ||||||
|  |     -sColorConversionStrategyForImages=/Gray \ | ||||||
|  |     -dProcessColorModel=/DeviceGray \ | ||||||
|  |     -dCompatibilityLevel=1.4 \ | ||||||
|  |     -dNOPAUSE -dBATCH -dQUIET \ | ||||||
|  |     "$original" | ||||||
|  | done | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| <br/><br/> | <br/><br/> | ||||||
| Source: [Internal Pointers](https://www.internalpointers.com/post/compress-pdf-file-ghostscript-linux), [firstdoit](https://gist.github.com/firstdoit/6390547), [ahmed-musallam](https://gist.github.com/ahmed-musallam/27de7d7c5ac68ecbd1ed65b6b48416f9), [Ghostscript Docs](https://ghostscript.com/doc/current/Ps2pdf.htm) | Source: [Internal Pointers](https://www.internalpointers.com/post/compress-pdf-file-ghostscript-linux), [firstdoit](https://gist.github.com/firstdoit/6390547), [ahmed-musallam](https://gist.github.com/ahmed-musallam/27de7d7c5ac68ecbd1ed65b6b48416f9), [Ghostscript Docs](https://ghostscript.com/doc/current/Ps2pdf.htm) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue