Skip to main content

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

translationPdF-2.0.0.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

translationPdF-2.0.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

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

Hashes for translationPdF-2.0.0.tar.gz
Algorithm Hash digest
SHA256 698f112294ff50065b6753fa0e407a71231bda513e6f42aa23950cf32f719718
MD5 2b2a15ba0cc74c782e4ab4f41ea35cfb
BLAKE2b-256 0d4245ea5c77225b350470d5bc826c317630a2063d557d90cba13b6de58d5f15

See more details on using hashes here.

File details

Details for the file translationPdF-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for translationPdF-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c95917636999a50c658c35c8cda982f99c3df6aa8f97f2ab3453237b5fa507f7
MD5 820298229e184f534a6da3771212b9c8
BLAKE2b-256 e7422a564768129fa6bdbd00ebc5ea73bfb1c8d1406e1f6b8897cb14486e799c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page