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-1.5.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

translationPdF-1.5.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file translationPdF-1.5.0.tar.gz.

File metadata

  • Download URL: translationPdF-1.5.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for translationPdF-1.5.0.tar.gz
Algorithm Hash digest
SHA256 f6dddaab350ae8598de35283ff18b1db83c4ec241f587ed4224e212e1ba289c3
MD5 fa9d8af615e2b968b396d25204c3a137
BLAKE2b-256 1f5146aba9d1e894f600f657767592e27a188e683b023fa99f80506958c9d965

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for translationPdF-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2dac5ea0555ca05726433a53bdb82484393e363fd81200355954fa8f4ea44fa
MD5 c0808ea198adb82f1c1482a7b1b50537
BLAKE2b-256 116f3809b561b1727e08dde6bc5c73456993fbc460de0f2d7cfde337ee50da39

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