Spaces:
Sleeping
Sleeping
import streamlit as st | |
from main import convert_pdf_to_webp, convert_webp_to_pdf, convert_images_to_webp, Percentage, filig | |
import os | |
def main(): | |
st.markdown( | |
""" | |
<style> | |
.stApp { | |
direction: rtl; | |
text-align: right; | |
} | |
</style> | |
""", | |
unsafe_allow_html=True | |
) | |
st.title("تبدیل فایلها") | |
st.write("فایل های PDF تا 80 درصد حجم کمتر!") | |
option = st.sidebar.selectbox("انتخاب عملیات", ("تبدیل تصاویر به PDF کم حجم", "کاهش حجم PDF")) | |
if option == "تبدیل تصاویر به PDF کم حجم": | |
st.subheader("تبدیل تصاویر به PDF کم حجم") | |
uploaded_files = st.file_uploader("تصاویر خود را آپلود کنید", type=["png", "jpg", "jpeg", "bmp", "gif"], accept_multiple_files=True) | |
if uploaded_files: | |
image_paths = [] | |
kol = 0 | |
for uploaded_file in uploaded_files: | |
image_path = os.path.join("temp", uploaded_file.name) | |
kol += uploaded_file.size | |
with open(image_path, "wb") as f: | |
f.write(uploaded_file.getbuffer()) | |
image_paths.append(image_path) | |
if st.button("تبدیل به PDF کم حجم"): | |
convert_images_to_webp(image_paths) | |
output_pdf = "output.pdf" | |
convert_webp_to_pdf(output_pdf) | |
with open(output_pdf, "rb") as f: | |
st.download_button("دانلود PDF", f, file_name=output_pdf) | |
dar = Percentage(kol, os.path.getsize(output_pdf)) | |
st.success(f"حجم PDF نسبت به حجم تصاویر {dar} کاهش یافته است!") | |
elif option == "کاهش حجم PDF": | |
st.subheader("کاهش حجم PDF") | |
uploaded_file = st.file_uploader("فایل PDF خود را آپلود کنید", type=["pdf"], accept_multiple_files=False) | |
if uploaded_file: | |
pdf_path = os.path.join("temp", uploaded_file.name) | |
with open(pdf_path, "wb") as f: | |
f.write(uploaded_file.getbuffer()) | |
if st.button("کاهش حجم PDF"): | |
convert_pdf_to_webp(pdf_path) | |
output_pdf = "output_converted.pdf" | |
convert_webp_to_pdf(output_pdf) | |
with open(output_pdf, "rb") as f: | |
st.download_button("دانلود PDF", f, file_name=output_pdf) | |
dar = Percentage(uploaded_file.size, os.path.getsize(output_pdf)) | |
st.success(f"حجم pdf {dar} کاهش یافت!") | |
if __name__ == "__main__": | |
if not os.path.exists('temp'): | |
os.makedirs('temp') | |
main() | |