Ações PDF
Ações de PDF são ações para interagir com arquivos PDF durante automações.
Caixa de texto
Para identificar e trabalhar facilmente com arquivos PDF complexos, Marvin usa o conceito de Caixas de Texto.
Uma caixa de texto é um quadrado que arredonda todos os textos em um arquivo PDF, simplificando a obtenção de informações de arquivos PDF, sem a necessidade de realizar manipulações ou pesquisas complexas de texto.
Caixa de texto na prática
Considere que temos um arquivo PDF como mostrado na imagem acima e queremos obter informações de texto dele:
Usando a ferramenta pdfparser.exe
que veio com o Marvin, você pode destacar todas as caixas dentro do PDF, tornando simples obter conteúdo PDF.
Agora, o mesmo PDF tem todo o texto realçado nas caixas de texto.
Para obter qualquer uma dessas informações, você só precisa fornecer uma caixa de pesquisa e o Marvin recuperará todos os textos dentro dessa área, sem necessidade de manipulação de texto.
Para obter a posição X,Y você pode usar a imagem PDF com caixas destacadas de pdfparser.exe
e obter o X,Y usando seu editor de imagem favorito como MS Paint.
Mais adiante nesta página, você pode obter mais informações sobre cada ação do pdf e como usá-la.
Caixa de pesquisa
Uma Caixa de Pesquisa é um retângulo dentro do arquivo PDF onde Marvin pode pesquisar qualquer texto dentro dele.
A caixa de pesquisa sempre terá 4 coordenadas: X1, Y1, X2 e Y2.
X1 - a posição mais à esquerda da caixa de pesquisa
Y1 - a posição mais alta da caixa de pesquisa
X2 - a posição mais à direita da caixa de pesquisa
Y2 - a posição inferior da caixa de pesquisa
Exemplo 1:
Neste exemplo, retornaremos um único valor de caixa de texto. Para fazer isso, precisamos dar a Marvin uma caixa de pesquisa conforme mostrado na imagem acima em vermelho:
Esta caixa de pesquisa retornará o texto "Valor 1".
Exemplo 2:
Neste exemplo, obteremos mais de uma caixa de texto na mesma pesquisa. Para fazer isso, precisamos dar a Marvin uma caixa de pesquisa conforme mostrado na imagem acima em vermelho:
No exemplo dado, a caixa de pesquisa retornará o conteúdo de duas caixas de texto diferentes, separadas pela linha [texto]
:
Ações
pdf.get_text
Obtenha todas as caixas de texto dentro da área da caixa de pesquisa, começando à esquerda/para cima em X1, Y1 e terminando à direita/em baixo em X2, Y2.
Parâmetros:
pdf - pode ser um caminho para um arquivo PDF ou um objeto PDF já aberto por pdf.open_file.
page_num - define o número da página para obter todos os textos. As páginas sempre começam em um.
x1 - posição esquerda da caixa de pesquisa
y1 - posição superior da caixa de pesquisa
x2 - posição direita da caixa de pesquisa
y2 - posição direita da caixa de pesquisa
intersection_mode (opcional) - define como Marvin vai entender se uma caixa de texto está dentro da área de busca ou não. Para obter mais informações, leia a seção modo de interseção.
factor (opcional) - este é o fator usado pelo intersection_mode escolhido. Para obter mais informações, leia a seção modo de interseção.
Retorna:
text - Texto de todas as caixas de texto dentro da área da caixa de pesquisa. Se mais de uma caixa de texto for encontrada, o texto dentro de cada caixa de texto será separado por uma linha [texto]
.
pdf.get_text_at
Obtenha todas as caixas de texto que cruzam a posição X, Y fornecida. Além de usar uma caixa de pesquisa, esta ação usa a posição X, Y.
Parâmetros:
pdf - pode ser um caminho para um arquivo PDF ou um objeto PDF já aberto por pdf.open_file.
page_num - define o número da página para obter todos os textos. As páginas sempre começam em um.
x - coordenada X para encontrar uma caixa de texto
y - coordenada Y para encontrar uma caixa de texto
Retorna:
text - Texto de todas as caixas de texto que cruzam a posição X,Y especificada. Se mais de uma caixa de texto for encontrada, o texto dentro de cada caixa de texto será separado por uma linha [texto]
.
pdf.get_text_by_reference
Obtenha todas as caixas de texto dentro da área da caixa de pesquisa. A área da caixa é definida como uma referência da posição relativa do reference_text
.
Parâmetros:
pdf - pode ser um caminho para um arquivo PDF ou um objeto PDF já aberto por pdf.open_file.
page_num - define o número da página para obter todos os textos. As páginas sempre começam em um.
reference_text - um texto em que sua caixa deve ser usada como referência para a posição da caixa de pesquisa
x1_offset - quantos pixels a caixa de pesquisa está à esquerda do reference_text
(negativo para o lado esquerdo e positivo para o lado direito)
y1_offset - quantos pixels a caixa de pesquisa tem da parte superior do reference_text
(negativo para superior e positivo para baixo)
x2_offset - quantos pixels a caixa de pesquisa está à direita do reference_text
(negativo para o lado esquerdo e positivo para o lado direito)
y2_offset - quantos pixels a caixa de pesquisa tem da parte inferior do reference_text
(negativo para superior e positivo para baixo)
intersection_mode (opcional) - define como Marvin vai entender se uma caixa de texto está dentro da área de busca ou não. Para obter mais informações, leia a seção modo de interseção.
factor (opcional) - este é o fator usado pelo intersection_mode escolhido. Para obter mais informações, leia a seção modo de interseção.
Retorna:
text - Texto de todas as caixas de texto dentro da área da caixa de pesquisa. Se mais de uma caixa de texto for encontrada, o texto dentro de cada caixa de texto será separado por uma linha [texto]
.
position - Posição de todas as caixas retornadas. Retorna na ordem x.min
, y.min
, x.max
, y.max
.
pdf.get_texts
Usado para recuperar mais de uma informação ao mesmo tempo, dado a cada busca um nome da var do processo diferente. Essa ação pesquisa caixas de texto dentro de uma lista de caixas de pesquisa.
Parâmetros:
pdf - pode ser um caminho para um arquivo PDF ou um objeto PDF já aberto por pdf.open_file.
page_num - define o número da página para obter todos os textos. As páginas sempre começam em um.
boxes - uma lista de caixas de pesquisa com cada caixas de pesquisa tendo um nome de var de processo específico, definido como:
intersection_mode (opcional) - define como Marvin vai entender se uma caixa de texto está dentro da área de busca ou não. Para obter mais informações, leia a seção modo de interseção.
factor (opcional) - este é o fator usado pelo intersection_mode escolhido. Para obter mais informações, leia a seção modo de interseção.
Retorna:
text - Texto de todas as caixas de texto dentro da área da caixa de pesquisa. Se mais de uma caixa de texto for encontrada, o texto dentro de cada caixa de texto será separado por uma linha [texto]
.
pdf.open_file
Abre um arquivo PDF e o retorna como objeto para uso futuro em outras ações.
Parâmetros:
pdf - caminho para um arquivo PDF.
Retorna:
pdf - Objeto PDF que representa o arquivo PDF fornecido. page_count - Total de páginas encontradas no PDF