Python | Machine Learning | Coding | R
63.5K subscribers
1.13K photos
68 videos
144 files
785 links
List of our channels:
https://t.me/addlist/8_rRW2scgfRhOTc0

Discover powerful insights with Python, Machine Learning, Coding, and R—your essential toolkit for data-driven solutions, smart alg

Help and ads: @hussein_sheikho

https://telega.io/?r=nikapsOH
Download Telegram
كود #Python لقراءة ملف #PDF وعرض النصوص وعدد الصفحات داخل الملف على #الشاشة باستخدام مكتبة #PyPDF2 مرفقا بالشرح ضمن الكود.

للمزيد قم بمشاركة المنشور ودعوة اصدقاءك للاستفادة والافادة: @CodeProgrammer
Title: #Python script to convert #image to #pdf.

كود #بايثون لتحويل #الصورة الى ملف #PDF مرفقا بخطوات بالشرح ضمن الكود.

ملاحظة: يمكن اضافة مجموعة صور بالاعتماد على #list

للمزيد قم بدعوة اصدقاءك للاستفادة : @CodeProgrammer
Title: #Merge multiple #PDFs to one #PDF using #Python

كود #بايثون ل #دمج عدة ملفات #PDF بملف #PDF واحد باستخدام مكتبة #PyPDF2 مرفقا بالشرح بالاضافة ل #Source_Code لهذا الكود.

للمزيد قم بمشاركة المنشور ودعوة اصدقاءك للاستفادة: @CodeProgrammer
Title: Encrypt PDF File Using #Python.

#منشور_علمي متقدم يتحدث عن كيفية #تشفير ملف #PDF وتعيين كلمة سر له باستخدام مكتبة #PyPDF2

كافة التفاصيل والشروحات والاكواد البرمجية متوفرة ضمن المنشور.

🔴 قناة لتحميل الكتب البرمجية:
@DataScience_Books

🟢 مجموعة القناة:
@PythonArab

🟡 للمزيد قم بدعوة اصدقاءك للاستفادة:
@CodeProgrammer
👍1
Title: Convert #PDF file text to #audio using #Python.

#منشور_برمجي يتحدث عن طريقة قراءة ملف PDF بشكل صوتي وذلك باستخدام مكتبتي #pyttsx3 و #PyPDF2.
جميع الشروحات والتفاصيل اللازمة والاكواد متوفرة ضمن المنشور.

🔴 انضم لقناة الباحثين البرمجية:
@DataScience_Books

🟢 انضم لمجتمع بايثون العربي:
@PythonArab

🟡 شارك القناة للآخرين:
@CodeProgrammer
👍2
Topic: Python Script to Convert a Shared ChatGPT Link to PDF – Step-by-Step Guide

---

### Objective

In this lesson, we’ll build a Python script that:

• Takes a ChatGPT share link (e.g., https://chat.openai.com/share/abc123)
• Downloads the HTML content of the chat
• Converts it to a PDF file using pdfkit and wkhtmltopdf

This is useful for archiving, sharing, or printing ChatGPT conversations in a clean format.

---

### 1. Prerequisites

Before starting, you need the following libraries and tools:

#### • Install pdfkit and requests

pip install pdfkit requests


#### • Install wkhtmltopdf

Download from:
https://wkhtmltopdf.org/downloads.html

Make sure to add the path of the installed binary to your system PATH.

---

### 2. Python Script: Convert Shared ChatGPT URL to PDF

import pdfkit
import requests
import os

# Define output filename
output_file = "chatgpt_conversation.pdf"

# ChatGPT shared URL (user input)
chat_url = input("Enter the ChatGPT share URL: ").strip()

# Verify the URL format
if not chat_url.startswith("https://chat.openai.com/share/"):
print("Invalid URL. Must start with https://chat.openai.com/share/")
exit()

try:
# Download HTML content
response = requests.get(chat_url)
if response.status_code != 200:
raise Exception(f"Failed to load the chat: {response.status_code}")

html_content = response.text

# Save HTML to temporary file
with open("temp_chat.html", "w", encoding="utf-8") as f:
f.write(html_content)

# Convert HTML to PDF
pdfkit.from_file("temp_chat.html", output_file)

print(f"\n PDF saved as: {output_file}")

# Optional: remove temp file
os.remove("temp_chat.html")

except Exception as e:
print(f" Error: {e}")


---

### 3. Notes

• This approach works only if the shared page is publicly accessible (which ChatGPT share links are).
• The PDF output will contain the web page version, including theme and layout.
• You can customize the PDF output using pdfkit options (like page size, margins, etc.).

---

### 4. Optional Enhancements

• Add GUI with Tkinter
• Accept multiple URLs
• Add PDF metadata (title, author, etc.)
• Add support for offline rendering using BeautifulSoup to clean content

---

### Exercise

• Try converting multiple ChatGPT share links to PDF
• Customize the styling with your own CSS
• Add a timestamp or watermark to the PDF

---

#Python #ChatGPT #PDF #WebScraping #Automation #pdfkit #tkinter

https://t.me/CodeProgrammer
Please open Telegram to view this post
VIEW IN TELEGRAM
23💯1
Python | Machine Learning | Coding | R
Photo
# 📚 Python Tutorial: Convert EPUB to PDF (Preserving Images)
#Python #EPUB #PDF #EbookConversion #Automation

This comprehensive guide will show you how to convert EPUB files (including those with images) to high-quality PDFs using Python.

---

## 🔹 Required Tools & Libraries
We'll use these Python packages:
- ebooklib - For EPUB parsing
- pdfkit (wrapper for wkhtmltopdf) - For PDF generation
- Pillow - For image handling (optional)

pip install ebooklib pdfkit pillow


Also install system dependencies:
# On Ubuntu/Debian
sudo apt-get install wkhtmltopdf

# On MacOS
brew install wkhtmltopdf

# On Windows (download from wkhtmltopdf.org)


---

## 🔹 Step 1: Extract EPUB Contents
First, we'll unpack the EPUB file to access its HTML and images.

from ebooklib import epub
from bs4 import BeautifulSoup
import os

def extract_epub(epub_path, output_dir):
book = epub.read_epub(epub_path)

# Create output directory
os.makedirs(output_dir, exist_ok=True)

# Extract all items (chapters, images, styles)
for item in book.get_items():
if item.get_type() == epub.ITEM_IMAGE:
# Save images
with open(os.path.join(output_dir, item.get_name()), 'wb') as f:
f.write(item.get_content())
elif item.get_type() == epub.ITEM_DOCUMENT:
# Save HTML chapters
with open(os.path.join(output_dir, item.get_name()), 'wb') as f:
f.write(item.get_content())

return [item.get_name() for item in book.get_items() if item.get_type() == epub.ITEM_DOCUMENT]


---

## 🔹 Step 2: Convert HTML to PDF
Now we'll convert the extracted HTML files to PDF while preserving images.

import pdfkit
from PIL import Image # For image validation (optional)

def html_to_pdf(html_files, output_pdf, base_dir):
options = {
'encoding': "UTF-8",
'quiet': '',
'enable-local-file-access': '', # Critical for local images
'no-outline': None,
'margin-top': '15mm',
'margin-right': '15mm',
'margin-bottom': '15mm',
'margin-left': '15mm',
}

# Validate images (optional)
for html_file in html_files:
soup = BeautifulSoup(open(os.path.join(base_dir, html_file)), 'html.parser')
for img in soup.find_all('img'):
img_path = os.path.join(base_dir, img['src'])
try:
Image.open(img_path) # Validate image
except Exception as e:
print(f"Image error in {html_file}: {e}")
img.decompose() # Remove broken images

# Convert to PDF
pdfkit.from_file(
[os.path.join(base_dir, f) for f in html_files],
output_pdf,
options=options
)


---

## 🔹 Step 3: Complete Conversion Function
Combine everything into a single workflow.

def epub_to_pdf(epub_path, output_pdf, temp_dir="temp_epub"):
try:
print(f"Converting {epub_path} to PDF...")

# Step 1: Extract EPUB
print("Extracting EPUB contents...")
html_files = extract_epub(epub_path, temp_dir)

# Step 2: Convert to PDF
print("Generating PDF...")
html_to_pdf(html_files, output_pdf, temp_dir)

print(f"Success! PDF saved to {output_pdf}")
return True

except Exception as e:
print(f"Conversion failed: {str(e)}")
return False
finally:
# Clean up temporary files
if os.path.exists(temp_dir):
import shutil
shutil.rmtree(temp_dir)


---

## 🔹 Advanced Options
### 1. Custom Styling
Add CSS to improve PDF appearance:

def html_to_pdf(html_files, output_pdf, base_dir):
options = {
# ... previous options ...
'user-style-sheet': 'styles.css', # Custom CSS
}

# Create CSS file if needed
css = """
body { font-family: "Times New Roman", serif; font-size: 12pt; }
img { max-width: 100%; height: auto; }
"""
with open(os.path.join(base_dir, 'styles.css'), 'w') as f:
f.write(css)

pdfkit.from_file(/* ... */)
🔥1