# '#' hash and delimiter (“””) symbol in Python script is meant for statements without functions, it serves as an explanation or notes you would like to add-on
# Install Ananconda 3 from https://www.anaconda.com/products/individual
# What is anaconda:- Anaconda® is a package manager, an environment manager, a Python/R data science distribution, and a collection of over 7,500+ open-source packages. Anaconda is free and easy to install, and it offers free community support.
# Install Python3 from https://www.python.org/downloads/
# Goto window command prompt - type 'anaconda' to call out anaconda prompt
# at anaconda prompt - type 'pip install Jupyter' (install Jupyter Notebook)
# at anaconda prompt - type 'pip install PDFNetPython3' (install PDFNetPython3)
# Update all packages - type 'conda update --all' (Update all packages)
# at anaconda prompt - type 'Jupyter Notebook' (Call out Jupyter Notebook in preferred browser e.g. google chrome)
# at Jupyter Notebook - click 'new' > Python3 > copy paste Python Script in blue below into the Jupyter window.
# ------------------------------------
# you can also run scripts in a web browser: https://colab.research.google.com/notebooks/intro.ipynb#scrollTo=IqIkXkLmG7uS
# ------------------------------------
# The script below is aimed to reduce pdf file size in a folder
import site
import sys
from os import *
# to test iteration by printing/showing the items
# import pprint
# pprint is just a python package to print the items nicely line by line
from PDFNetPython3 import *
input_path = 'C:/Directory_Input/'
output_path = 'C:/Directory_Output/'
#input_filename = 'filename'
pdf_files = [pdf for pdf in listdir(input_path)]
# pdf_files is a list
# pprint.pprint (pdf_files)
# to create a list with all items in the folder and use for loop to iterate the function()
# create a function
def optimise():
PDFNet.Initialize()
doc = PDFDoc(input_path + pdf)
doc.InitSecurityHandler()
image_settings = ImageSettings()
image_settings.SetCompressionMode(ImageSettings.e_jpeg)
image_settings.SetQuality(1)
image_settings.SetImageDPI(144,96)
image_settings.ForceRecompression(True)
Optimizer.Optimize(doc)
doc.Save(output_path + pdf, SDFDoc.e_linearized)
doc.Close()
# iterate all items with the created function
for pdf in pdf_files:
# pdf is items in the pdf_files list
# pprint.pprint (pdf)
optimise()
Source and reference:
Related links:
No comments:
Post a Comment