Toopdf
Brauzersiz PDF bilan ishlash vositasi. Terminal va Telegram orqali PDF tarjima, konvertatsiya va boshqa amallar.
๐ก Barcha vositalar bepul! Hech qanday to'lov yoki obuna talab qilinmaydi. PDF bilan bog'liq barcha amallarni tekin bajaring.
๐ Web interfeys (Streamlit)
Brauzer orqali ishlash uchun:
Streamlit Community Cloud (kelajakda)
Yoki local ishga tushirish:
pip install streamlit toopdf
streamlit run app.py
Web interfeysda:
- PDF fayl yuklang
- Vositani tanlang
- "Ishga tushirish" tugmasini bosing
- Natijani yuklab oling
Imkoniyatlar
- 30+ PDF vosita โ tarjima, konvertatsiya, merge, split, OCR, watermark, encrypt/unlock
- Batch ishlov โ bir necha faylni birdaniga qayta ishlash
- Telegram bot โ mobil orqali PDF ishlash
- Chiroyli CLI โ progress bar, rangli output, avtoto'ldirish
- Stealth โ brauzerdek soxta headerlar, delay, cookie saqlash
- Xavfsiz โ input validatsiya, rate limiting, shifrlangan cookie'lar
O'rnatish
# CLI uchun
pip install toopdf
# Telegram bot bilan
pip install toopdf[bot]
Ishlatish
1. ๐ CLI orqali
# Vositalar ro'yxati
toopdf list
# PDF tarjima (en โ uz)
toopdf translate test.pdf --from en --to uz
# PDF konvertatsiya
toopdf convert pdf-to-word test.pdf
toopdf convert pdf-to-jpg test.pdf
# PDF yuklash (qayta ishlashsiz)
toopdf upload test.pdf
# Batch ishlov (bir necha faylni birdan)
toopdf batch *.pdf --tool pdf-to-word
# Konfiguratsiya
toopdf config
# Yordam
toopdf --help
toopdf translate --help
2. ๐ค Telegram Bot orqali
# Botni ishga tushirish
export TOOPDF_BOT_TOKEN="your:bot_token"
toopdf-bot
Bot qanday ishlaydi:
- Botga
/startyuboring - PDF fayl yuboring
- Kategoriya va vositani tanlang (inline tugmalar)
- Natijani oling
Bot buyruqlari:
/startโ ishga tushirish/listโ vositalar ro'yxati/helpโ yordam/cancelโ bekor qilish
Bot sozlamalari:
TOOPDF_BOT_TOKEN=123456:ABCdef # @BotFather dan oling
TOOPDF_BOT_ALLOWED_USERS=123,456 # Kim foydalanishi mumkin (bo'sh = hamma)
3. ๐ Python API orqali
# Sync usul (oddiy skriptlar uchun)
from toopdf import Toopdf
with Toopdf() as api:
# Vositlarni ro'yxat qilish
tools = api.list_tools()
print(tools)
# Tarjima qilish
result = api.translate("document.pdf", from_lang="en", to_lang="uz")
print(f"Natija: {result}")
# Konvertatsiya qilish
result = api.convert("pdf-to-word", "document.pdf")
print(f"Natija: {result}")
# Async usul (yuqori samaradorlik)
from toopdf import ToopdfClient
import asyncio
async def main():
async with ToopdfClient(api_key="your-key") as api:
tools = await api.list_tools()
print(f"{len(tools)} ta vosita topildi")
# Yuklash va konvertatsiya
upload = await api.upload("document.pdf")
result = await api.convert(upload.file_id, "pdf-to-word")
await api.download(result.download_url, "result.docx")
asyncio.run(main())
Xavfsizlik
| Xususiyat | Tavsif |
|---|---|
| Input validatsiya | Fayl yo'li, til kodi, vosita nomi tekshiriladi |
| File size limit | Katta fayllar rad etiladi (sozlash mumkin) |
| Path traversal | ../ bloklanadi |
| Rate limiting | So'rovlar soni cheklangan (sozlash mumkin) |
| Encrypted cookies | Shifrlangan cookie saqlash |
| Logging | Barcha hodisalar yoziladi |
Konfiguratsiya
.env fayl orqali yoki environment variable'lar bilan:
TOOPDF_MAX_FILE_SIZE_MB=50
TOOPDF_RATE_LIMIT_PER_MINUTE=10
TOOPDF_LOG_LEVEL=INFO
TOOPDF_BOT_TOKEN=your:bot_token
TOOPDF_BOT_ALLOWED_USERS=123456789
Loyiha tuzilmasi
toopdf/
โโโ src/
โ โโโ toopdf/
โ โโโ __init__.py # Paket init
โ โโโ bot.py # Telegram bot
โ โโโ cli.py # CLI interfeys (typer)
โ โโโ client.py # Asosiy kutubxona (httpx)
โ โโโ config.py # Konfiguratsiya (pydantic)
โ โโโ exceptions.py # Xatolik klasslari
โโโ tests/
โ โโโ conftest.py # Pytest fixture'lar
โ โโโ test_client.py # Client testlari
โ โโโ test_cli.py # CLI testlari
โโโ pyproject.toml
โโโ README.md
Testlar
pip install -e ".[dev]"
pytest
Litsenziya
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file toopdf-0.4.1.tar.gz.
File metadata
- Download URL: toopdf-0.4.1.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
953fc30aeb96960b76032701b26891867c346e8e0fcd55bed739dc28631953b9
|
|
| MD5 |
41052882456624d6a49989b99ae43e07
|
|
| BLAKE2b-256 |
aa387d8d07f684a9babf335626937445806e6ee2affaa5cad0bc4e247cd2c48f
|
File details
Details for the file toopdf-0.4.1-py3-none-any.whl.
File metadata
- Download URL: toopdf-0.4.1-py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
908f3ac2c28dd5a829017b36ee6ef77e4bf4fdf1cc4348bb1b40dc44a17d5f23
|
|
| MD5 |
56b7b8945b5f80f336fbd37799f58094
|
|
| BLAKE2b-256 |
e537c1dd3a7a339e8187966ec54f2bea6c488003f0f349407bc33b6fe0f749de
|