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
Produce pdf in python backend from simple bootstrap vue frontend and download to browser

vollmacht produce pdf in python backend from simple bootstrap vue frontend and download to browser Frontend in one file with bootstrap-vue (allthough

Otto 1 Nov 08, 2020
PDFSanitizer - Renders possibly unsafe PDF files and outputs harmless PDF files

PDFSanitizer Renders possibly malicious PDF files and outputs harmless PDF files

9 Jan 30, 2022
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
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
Auto Convert PDFs to png files in python

This python tool, which is an application of PyMuPDF module, could auto convert PDFs to png files

Bo-Yu 4 Dec 05, 2021
Convert Lecture Videos to PDF

Convert Lecture Videos to PDF Description Want to go through lecture videos faster without missing any information? Wish you can read the lecture vide

Emilio Kartono 20 Nov 25, 2022
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
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
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
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
Program that locks/unlocks pdf files🐍

🐍 📄 PDFtools 📄 🐍 Programa que bloqueia/desbloqueia arquivos pdf Requisitos • Como usar • Capturas de Tela 🚨 Aviso 🚨 Altere os caminhos referente

João Victor Vilela dos Santos 1 Nov 04, 2021
A tool for certificate PDF generation.

certificate-pdf-generator 获奖证书PDF批量生成工具 | a Tool for certificate PDF generation. ⚠️ 下载前请注意 本项目使用了LFS来存储PDF等大文件。在克隆或下载本仓库前,请先使用apt等包管理器安装git-lfs包。如果已经克

Wanghao Xu 4 Nov 28, 2022
JoplinPdf2Images - Converts a PDF to images in Joplin and adds it to the specified note as a printout

joplinPdf2Images Converts a PDF to images in Joplin and adds it to the specified

Morten Haahr Kristensen 2 Apr 20, 2022
x-ray is a Python library for finding bad redactions in PDF documents.

A tool to detect whether a PDF has a bad redaction

Free Law Project 73 Dec 19, 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
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
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
Svg2pdfgen - Svg To PDF gen with python

Svg2pdfgen - Svg To PDF gen with python

Robert Urbańczyk 3 May 30, 2022
Small python-gtk application, which helps the user to merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface

Small python-gtk application, which helps the user to merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface

1.8k Dec 29, 2022
pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative markdown file as input

pystitcher pystitcher stitches your PDF files together, generating nice customizable bookmarks for you using a declarative input in the form of a mark

Nemo 387 Dec 10, 2022