První nahrdánícd
This commit is contained in:
45
pdf2.py
Normal file
45
pdf2.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from pdf2image import convert_from_path
|
||||
from PIL import Image
|
||||
import os,time
|
||||
|
||||
|
||||
def compress_pdf_images(input_pdf, output_pdf, quality=50):
|
||||
# Convert PDF pages to images
|
||||
images = convert_from_path(input_pdf)
|
||||
|
||||
# Compress images
|
||||
compressed_images = []
|
||||
for image in images:
|
||||
image = image.convert("RGB")
|
||||
image.save("temp.jpg", "JPEG", quality=quality)
|
||||
compressed_images.append(Image.open("temp.jpg"))
|
||||
image.close()
|
||||
Image.close()
|
||||
|
||||
for attempt in range(5):
|
||||
retry_delay=3
|
||||
try:
|
||||
# Your code that might fail
|
||||
os.remove("temp.jpg")
|
||||
print("Success:", result)
|
||||
break # Exit the loop if successful
|
||||
except Exception as e:
|
||||
print(f"Attempt {attempt + 1} failed:", e)
|
||||
if attempt < 5 - 1:
|
||||
print(f"Retrying in {retry_delay} seconds...")
|
||||
time.sleep(retry_delay)
|
||||
else:
|
||||
print("Max retries reached. Exiting.")
|
||||
|
||||
|
||||
# Save compressed images as a new PDF
|
||||
compressed_images[0].save(output_pdf, save_all=True, append_images=compressed_images[1:])
|
||||
|
||||
|
||||
|
||||
|
||||
# Usage
|
||||
inputpdf=r"u:\Dropbox\!!!Days\Downloads Z230\Dokumentace\a.pdf"
|
||||
outputpdf=r"u:\Dropbox\!!!Days\Downloads Z230\Dokumentace\aconverted.pdf"
|
||||
# Usage
|
||||
compress_pdf_images(inputpdf, outputpdf, quality=50)
|
||||
Reference in New Issue
Block a user