translationPdF é um pacote para a tradução de PDF.
Project description
A classe TranslatePDF é capaz de extrair texto e imagem de um PDF, bem como extrair texto de uma imagem, traduzir textos longos e curtos. Além disso, ela também permite criar um PDF a partir de um texto.
Acesse: https://github.com/Willians-S-S/PacoteTranslation
Obs: Ao extrair o texto do PDF ele perde toda a formatação original.
Se você usar a extensão Code Runner, não execute o arquivo python por ela, pois irá da erro.
Funcionabilidades
- Extrai texto e imagem do PDF
- Traduz texto curto.
- Traduz texto longo.
- Criar PDF.
- Extrai imagem do PDF.
- Extrai texto da imagem.
Como usar
Importar a biblioteca
from pdftools import pdftools as tools
Criar objeto da classe TranslatePDF
obj = tools.TranslatePDF()
Extrair texto e imagem do PDF
Parâmetros do método extract_data_pdf
:
caminho
=> Diretório até o pdf. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads/arquivo.pdf.
idioma
=> Idioma para o qual o texto será traduzido.
caminho_save_pdf
=> Diretório para salva o pdf gerado, esse parâmetro é opcional, caso não o use ele salva o pdf no diretorio do script. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads
page
=> Indica uma página unica para extrair o que o usuário deseja, as páginas do PDF começa por 0.
interval
=> Indica o intervalo de páginas para extrair o que o usuário deseja.
ret
=> ret='pdf' Indica que o método vai gerar um pdf com o texto traduzido, se não enviar o parâmetro texto traduzido vai ser impresso na saída padrão.
check_img
=> Verifica se a imagem no pdf.
caminho_save_img
=> Diretório para salvar as imagens do pdf, esse parâmetro é opcional, caso não o use ele salva o pdf no diretorio do script. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads
def extract_data_pdf(
self,
caminho: str,
idioma: str,
caminho_save_pdf: Optional[str] = None,
page: Optional[int] = None,
interval: Optional[str] = None,
ret: Optional[str] = None,
check_img: Optional[bool] = None,
caminho_save_img: Optional[str] = None
) -> None:
Usando o método extract_data_pdf
:
Windows
obj.extract_data_pdf("C:/Users/usuario/Downloads/arquivo.pdf",
caminho_save_pdf="C:/Users/usuario/Downloads",
idioma='pt',
ret='pdf',
page=0
)
Linux
obj.extract_data_pdf("/home/usuario/Documentos/arquivo.pdf",
caminho_save_pdf="/home/usuario/Documentos",
idioma='pt',
ret='pdf',
page=0
)
Traduzir texto curto. (Texto com menos de 500 caracteres)
Parâmetros do método traducao
:
texto
=> Texto que vai ser traduzido
idioma
=> Idioma em que texto irá ser traduzido.
def traducao(self, texto, idioma) -> str:
Usando o método traducao
:
obj.traducao(texto, idioma)
Traduzir texto longo. (Texto com mais de 500 caracteres)
Parâmetros do método trans_text_bigger
:
texto
=> Texto que vai ser traduzido
idioma
=> Idioma em que texto irá ser traduzido.
def trans_text_bigger(self, texto, idioma) -> str:
Usando o método trans_text_bigger
:
obj.trans_text_bigger(texto, idioma)
Criar PDF.
Parâmetros do método gerarPDF
:
texto
=> Texto para introduzir no PDF.
nome_arquivo
=> Indica no nome do PDF.
caminho_save_pdf
=> Diretório para salva o pdf gerado, esse parâmetro é opcional, caso não o use ele salva o pdf no diretorio do script. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads
def gerarPDF(self, texto, nome_arquivo, caminho_save_pdf) -> None:
Usando o método gerarPDF
:
obj.gerarPDF(texto, nome_arquivo, caminho_save_pdf)
Extrair imagem do PDF.
Parâmetros do método extrairIMG
:
caminho
=> Diretório até o pdf. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads/arquivo.pdf.
caminho_save
=> Diretório para salvar as imagens do pdf, esse parâmetro é opcional, caso não o use ele salva o pdf no diretorio do script. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads
all_page
=> Índice da página que contém a imagem a ser extraída. Se não for especificado, todas as páginas serão processadas.
def extrairIMG(self, caminho, caminho_save: Optional[str] = None, all_page: Optional[int] = None) -> None:
Usando o método extrairIMG
:
obj.extrairIMG(caminho="C:/Users/usuario/Downloads/arquivo.pdf",
caminho_save="C:/Users/usuario/Downloads",
all_page=1
)
Linux
obj.extrairIMG(caminho="/home/usuario/Documentos/arquivo.pdf",
caminho_save_pdf="/home/usuario/Documentos",
all_page=1
)
Extrair texto da imagem.
Para usar esse método é necessário instalar o tesseract
-
Windows:
- Acesse o site para baixar e instalar no windows: https://github.com/UB-Mannheim/tesseract/wiki
- Instale no diretório padrão do execultavel: C:\Users\usuario\AppData\Local\Programs\Tesseract-OCR
- Acesse o site para baixar e instalar no windows: https://github.com/UB-Mannheim/tesseract/wiki
-
Linux:
- Ubuntu e derivados:
- Adicione o ppa: sudo add-apt-repository ppa:alex-p/tesseract-ocr-devel
- Atualize o repositório: sudo apt update
- Instalação: sudo apt-get install tesseract-ocr
- Duvidas acesse: https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr-devel ou https://notesalexp.org/tesseract-ocr/#tesseract_5.x
- Arch Linux e derivados:
- pip install tesseract
- Ubuntu e derivados:
Parâmetros do método extract_text_img
:
caminho_image
=> Diretório da imagem. No windows use / ao invés \ , ex: C:/Users/usuario/Downloads/img.jpg.
idioma
=> Idioma em que texto irá ser traduzido.
def extract_text_img(self, caminho_image, idioma: Optional[str] = None) -> None:
Usando o método extract_text_img
:
obj.extract_text_img(caminho_image="C:/Users/usuario/Downloads/img.jpg",
idioma='en'
)
Linux
obj.extract_text_img(caminho_image="/home/usuario/Documentos/img.png",
idioma='en'
)
Línguas suportadas
LANGUAGES = {
'af': 'afrikaans',
'sq': 'albanian',
'am': 'amharic',
'ar': 'arabic',
'hy': 'armenian',
'az': 'azerbaijani',
'eu': 'basque',
'be': 'belarusian',
'bn': 'bengali',
'bs': 'bosnian',
'bg': 'bulgarian',
'ca': 'catalan',
'ceb': 'cebuano',
'ny': 'chichewa',
'zh-cn': 'chinese (simplified)',
'zh-tw': 'chinese (traditional)',
'co': 'corsican',
'hr': 'croatian',
'cs': 'czech',
'da': 'danish',
'nl': 'dutch',
'en': 'english',
'eo': 'esperanto',
'et': 'estonian',
'tl': 'filipino',
'fi': 'finnish',
'fr': 'french',
'fy': 'frisian',
'gl': 'galician',
'ka': 'georgian',
'de': 'german',
'el': 'greek',
'gu': 'gujarati',
'ht': 'haitian creole',
'ha': 'hausa',
'haw': 'hawaiian',
'iw': 'hebrew',
'he': 'hebrew',
'hi': 'hindi',
'hmn': 'hmong',
'hu': 'hungarian',
'is': 'icelandic',
'ig': 'igbo',
'id': 'indonesian',
'ga': 'irish',
'it': 'italian',
'ja': 'japanese',
'jw': 'javanese',
'kn': 'kannada',
'kk': 'kazakh',
'km': 'khmer',
'ko': 'korean',
'ku': 'kurdish (kurmanji)',
'ky': 'kyrgyz',
'lo': 'lao',
'la': 'latin',
'lv': 'latvian',
'lt': 'lithuanian',
'lb': 'luxembourgish',
'mk': 'macedonian',
'mg': 'malagasy',
'ms': 'malay',
'ml': 'malayalam',
'mt': 'maltese',
'mi': 'maori',
'mr': 'marathi',
'mn': 'mongolian',
'my': 'myanmar (burmese)',
'ne': 'nepali',
'no': 'norwegian',
'or': 'odia',
'ps': 'pashto',
'fa': 'persian',
'pl': 'polish',
'pt': 'portuguese',
'pa': 'punjabi',
'ro': 'romanian',
'ru': 'russian',
'sm': 'samoan',
'gd': 'scots gaelic',
'sr': 'serbian',
'st': 'sesotho',
'sn': 'shona',
'sd': 'sindhi',
'si': 'sinhala',
'sk': 'slovak',
'sl': 'slovenian',
'so': 'somali',
'es': 'spanish',
'su': 'sundanese',
'sw': 'swahili',
'sv': 'swedish',
'tg': 'tajik',
'ta': 'tamil',
'te': 'telugu',
'th': 'thai',
'tr': 'turkish',
'uk': 'ukrainian',
'ur': 'urdu',
'ug': 'uyghur',
'uz': 'uzbek',
'vi': 'vietnamese',
'cy': 'welsh',
'xh': 'xhosa',
'yi': 'yiddish',
'yo': 'yoruba',
'zu': 'zulu',
}
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file translationPdF-2.0.0.tar.gz
.
File metadata
- Download URL: translationPdF-2.0.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 698f112294ff50065b6753fa0e407a71231bda513e6f42aa23950cf32f719718 |
|
MD5 | 2b2a15ba0cc74c782e4ab4f41ea35cfb |
|
BLAKE2b-256 | 0d4245ea5c77225b350470d5bc826c317630a2063d557d90cba13b6de58d5f15 |
File details
Details for the file translationPdF-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: translationPdF-2.0.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c95917636999a50c658c35c8cda982f99c3df6aa8f97f2ab3453237b5fa507f7 |
|
MD5 | 820298229e184f534a6da3771212b9c8 |
|
BLAKE2b-256 | e7422a564768129fa6bdbd00ebc5ea73bfb1c8d1406e1f6b8897cb14486e799c |