A bot for PDF for doing Many Things....

Overview

Telegram PDF Bot

Typing SVG

Telegram Bot MIT License Code style: black Crowdin Telegram Channel

Readme Card

A Telegram bot that can:

  • Compress, crop, decrypt, encrypt, merge, preview, rename, rotate, scale and split PDF files
  • Compare text differences between two PDF files
  • Create PDF files from text messages
  • Add watermark to PDF files
  • Multiple languages support
  • Add text layers to PDF files to make them searchable with text
  • Extract images and text from PDF files
  • Convert PDF files into images
  • Beautify handwritten notes images into PDF files
  • Convert webpages and images into PDF files

Repo Special 😅

What's Special in this repo & To-Do's ???

  • Make It Heroku Deployable
  • Add Detailed Guide to get GCP Credentials
  • Add Private Use Feature
  • Add Password feature 🔑 for private use
  • Remove GCP and use another free Cloud Storage.
    • Add Broadcasting Feature
  • Make it more stable and fast

Mandatory Vars....

DEV_TELE_ID - Your Telegram ID.
TELE_TOKEN - Telegram Bot Token get from @BotFather
GOOGLE_APPLICATION_CREDENTIALS - Your GCP Credentials get from Google Cloud 

Where To Get The Mandatory Vars..

DEV_TELE_ID - Get it from Thunder Bot by sending /id

TELE_TOKEN - Get it from @BotFather

GOOGLE_APPLICATION_CREDENTIALS - Get it from Google Cloud ☁️

Optional Vars....

STRIPE_TOKEN - Stripe.com token for receiving Donations.
SLACK_TOKEN - slack.com api token to recieve Feedbacks on Slack.com if not entered you will recieve in your Telegram 

Where To Get The Optional Vars...

STRIPE_TOKEN - Get it from stripe.com

SLACK_TOKEN - Get it from slack.com

Installation [ ⚠️ Click On Any Topic To Get it's Detailed Information ⚠️ ]

Getting GCP Ceredinials ⚠️ Important ⚠️

Getting Started

These instructions will get you a copy of the project up.

Setup Database

The bot uses Datastore on Google Cloud Platform (GCP).

Sir/Ma'am, Kindly 🤗 follow the below steps to create a valid GCP Credentials File :-

  1. Firstly Go to https://console.cloud.google.com/project
  2. Create a Project.
  3. Open http://console.developers.google.com/project/_/apiui/credential And Click on Create Ceredinials then Click on Service Account.
  4. Enter all the required values. [At the Service Accounts, enter a Service account name and click Create. For Service account permissions, select Project, Owner.]
  5. Select a service account. Click the 3 skewer bar and select Create Key. Select JSON, click Create.
  6. Click Create. The credential file will be downloaded to your local computer or Any Device your are Using.
  7. Upload the Project Credential file to the bots private repo.
  8. Then Open https://console.cloud.google.com/datastore/setup .
  9. And enable the FireStore Database.
  10. Now open https://console.cloud.google.com/iam-admin/iam .
  11. And set the service account's role to owner. Note: If you can't see your service account in the list click on Add and add your service account with Owner as Role.
  12. Now Deploy your bot and set GOOGLE_APPLICATION_CREDENTIALS var with value as the File Name of the Ceredinials Json you uploaded in the repo in Step 7.
  13. Congratulations 🎉 your bot has been Successfully Started 😊 So enjoy 🤗 .
⚠️ I will Recommend you to Use Only Google Chrome for generating Ceredinials Json as some browsers will not start the Download of the Json file in the Step 6 ⚠️

Don't Forget to Star 🌟 Repo if ❤️ The Repo and Follow Me to show your ❤️ .

The Easy Way (Heroku)

Follow these steps for a successful deployment.....

  • Star the repo 😅 and import it as Private.
  • Upload your GCP Credentials in the root directory with name GCP_FILE.json
  • Click on the Below Deploy Button

Deploy

  • Enter the Ceredinials and Click in deploy.
  • After Deployment Completed Click on Manage App & Turn on the Dynos....
  • Booyah!! Your PDF Bot is successfully started.
  • Enjoy the Bot 🥳 .

Deploy using GitHub Workflows.....

  • Star the repo 😅 and import it as Private.
  • Upload your GCP Credentials in the root directory with name GCP_FILE.json
  • Go to Project->Settings->Secrets and Click New repository secret and Add All the following Vars as the Repository Secrets.

HEROKU_API_KEY: Your Heroku Account API

HEROKU_APP_NAME : Heroku App Name

HEROKU_EMAIL : Your Heroku Email 📨 Id

DEV_TELE_ID : Your Telegram ID.

TELE_TOKEN : Telegram Bot Token get from @BotFather

GOOGLE_APPLICATION_CREDENTIALS : Your GCP Credentials get from Google Cloud

  • Go To The Actions Tab and Choose Manually Deploy To Heroku and click on run workflow.

Follow me if Love ❣️ the repo.

Local Host

OS Requirements

Ubuntu

apt-get install poppler-utils libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info

macOS

brew install libxml2 libxslt poppler cairo pango gdk-pixbuf libffi

Setup Virtual Environment

Create a virtual environment with the following command:

virtualenv venv
source venv/bin/activate

Bot Requirements

Run the following command to install the required packages:

pip install -r requirements.txt

Compile the translation files

Run the following command to compile all the translation files:

pybabel compile -D pdf_bot -d locale/

Setup Your Environment Variables

Copy the .env example file and edit the variables within the file:

cp .env.example .env

Running The Bot

You can then start the bot with the following command:

python bot.py

Follow me if Love ❣️ the repo.

Follow me if Love ❣️ the repo.

Found a Bug 🐛

Feel free to create a pull or create a issue now and describe your issue freely.

Credits

Owner
Mr. Developer
Telegram Bot 🤖 Developer Alone 😔 Open Source ❤️ Learning From Mistakes 😃
Mr. Developer
Convert PDF to AudioBook and Audio Speech to PDF

In this Python project, we will build a GUI-based PDF to Audio and Audio to PDF converter using the Tkinter, OS, path, pyttsx3, SpeechRecognition, PyPDF4, and Pydub libraries and the messagebox modul

RISHABH MISHRA 1 Feb 13, 2022
A python library for extracting text from PDFs without losing the formatting of the PDF content.

Multilingual PDF to Text Install Package from Pypi Install it using pip. pip install multilingual-pdf2text The library uses Tesseract which can be ins

Shahrukh Khan 49 Nov 07, 2022
WeasyPrint is a smart solution helping web developers to create PDF documents.

WeasyPrint is a smart solution helping web developers to create PDF documents. It turns simple HTML pages into gorgeous statistical reports, invoices, tickets…

Kozea 5.4k Jan 08, 2023
A Python tool to generate a static HTML file that represents the internal structure of a PDF file

PDFSyntax A Python tool to generate a static HTML file that represents the internal structure of a PDF file At some point the low-level functions deve

Martin D. 394 Dec 30, 2022
Pdfencrypt is a tool to encrypt/lock PDFs

Pdfencrypt Pdfencrypt is a tool to encrypt/lock PDFs Installation $ apt update $ apt upgrade $ apt install git $ apt install python $ git clone https:

Anontemitayo 5 Nov 28, 2021
Performing the following operations using python on PDF.

Python PDF Handling Tutorial Python is a highly versatile language with a huge set of libraries. It is a high level language with simple syntax. Pytho

Prajwol Lamichhane 131 Dec 16, 2022
CLI tool to generate pdf invoices written in python

invoicepy CLI invoice tool, store and print invoices as pdf. save companies and customers for later use. installation pip install invoicepy config co

Adam Wojtczak 9 Aug 01, 2022
Zen-Knit is a formal (PDF), informal (HTML) report generator for data analyst and data scientist who wants to use python.

About Zen-Knit: Zen-Knit is a formal (PDF), informal (HTML) report generator for data analyst and data scientist who wants to use python. Inspired fro

Zen Reportz 27 Jul 13, 2022
Python PDF Parser (Not actively maintained). Check out pdfminer.six.

PDFMiner PDFMiner is a text extraction tool for PDF documents. Warning: As of 2020, PDFMiner is not actively maintained. The code still works, but thi

Yusuke Shinyama 4.9k Jan 04, 2023
Split given PDF document into 4 page groups and convert them to booklet format

PUTO: PDF to Booklet converter Split given PDF document into 4 page groups and convert them to booklet format. It creates a PDF like shown below: Fir

3 Mar 12, 2022
Python bindings for MuPDF's rendering library.

PyMuPDF 1.19.3 Release date: December 15, 2021 On PyPI since August 2016: Author Jorj X. McKie, based on original code by Ruikai Liu. Introduction PyM

Jorj X. McKie 0 Nov 03, 2022
Table automatically extraction from PDF Document

PDF Table Extractor Table automatically extraction from PDF Document Our Icon 📌 Name : PDF Table Extractor 📌 Authors : Minku Koo Jiyong Park 📌 Deve

1 Jan 10, 2022
Simple HTML and PDF document generator for Python - with built-in support for popular data analysis and plotting libraries.

Esparto is a simple HTML and PDF document generator for Python. Its primary use is for generating shareable single page reports with content from popular analytics and data science libraries.

Dom 76 Dec 12, 2022
A simple Python script to convert multiple images (well technically also a single image) into a pdf.

PythonImage2PDF A simple Python script to convert multiple images into a single PDF-document. Created basically for only my own needs for converting m

Joona Gynther 1 Jun 28, 2022
Compare-pdf - A Flask driven restful API for comparing two PDF files

COMPARE-PDF A Flask driven restful API for comparing two PDF files. Description

Karthikeyan JC 3 Mar 13, 2022
Busca no nome e conteúdo de arquivos PDF no diretório e subdiretórios.

PDF Finder Este script auxilia na pesquisa em pastas com inúmeros arquivos PDF. A pesquisa é feita em todos os arquivos do doretório e subdiretórios.

William Pilger 1 Nov 27, 2021
PyPDF2 is a pure-python PDF library capable of splitting, merging together, cropping, and transforming the pages of PDF files.

PyPDF2 is a pure-python PDF library capable of splitting, merging together, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files

Matthew Stamy 5k Jan 04, 2023
borb is a library for reading, creating and manipulating PDF files in python.

borb is a library for reading, creating and manipulating PDF files in python.

Joris Schellekens 2.9k Jan 01, 2023
Mipdfcompressor - 💕A simple pdf size compressing telegram robot

Pdf Compressor Telegram Bot A simple pdf size compressing telegram robot. Useful for digital documentation. Mandatory Variables API_HASH - Your A

Madhavan Mi 1 Feb 14, 2022
This is PDF Merger Application Developed using Just Python

This is PDF Merger Application Developed using Just Python

Sandeep Kumar Reddy 2 Nov 18, 2021