{"id":6427,"date":"2025-05-16T14:28:04","date_gmt":"2025-05-16T14:28:04","guid":{"rendered":"https:\/\/www.myshirtai.com\/archives\/6427"},"modified":"2025-05-16T14:28:04","modified_gmt":"2025-05-16T14:28:04","slug":"gemini-2-0-pdf%e8%a7%a3%e6%9e%90%e5%85%a8%e6%94%bb%e7%95%a5%ef%bc%9a%e4%bb%a3%e7%a0%81%e5%ae%9e%e4%be%8b%e4%b8%8e%e6%9c%80%e4%bd%b3%e5%ae%9e%e8%b7%b5","status":"publish","type":"post","link":"https:\/\/www.myshirtai.com\/pt\/archives\/6427","title":{"rendered":"Gemini 2.0 PDF Explained: Exemplos de c\u00f3digo e melhores pr\u00e1ticas"},"content":{"rendered":"<p>Os documentos PDF, enquanto suporte importante para o armazenamento de informa\u00e7\u00f5es empresariais e pessoais, sempre foram um grande desafio no dom\u00ednio do processamento de dados. Com a introdu\u00e7\u00e3o do modelo Gemini 2.0 pelo Google DeepMind, este dom\u00ednio est\u00e1 a dar in\u00edcio a uma mudan\u00e7a sem precedentes. Neste documento, exploraremos o Gemini 2.0 como alterar completamente o padr\u00e3o de processamento de PDF e, atrav\u00e9s de exemplos reais de c\u00f3digo, mostraremos como utilizar esta tecnologia para lidar com v\u00e1rios tipos de documentos PDF.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-pdf\u5904\u7406\u7684\u4f20\u7edf\u6311\u6218\">Desafios tradicionais do processamento de PDF<\/h2>\n\n\n\n<p>Durante muito tempo, a convers\u00e3o de documentos PDF em dados estruturados leg\u00edveis por m\u00e1quina foi o dom\u00ednio da IA e do processamento de dados do \"grande problema\". As solu\u00e7\u00f5es tradicionais podem ser divididas em tr\u00eas categorias:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>modelo end-to-end de fonte aberta<\/strong>N\u00e3o \u00e9 f\u00e1cil identificar tabelas, gr\u00e1ficos e tipografia especial.<\/li>\n\n\n\n<li><strong>Programa de combina\u00e7\u00e3o de v\u00e1rios modelos<\/strong>Por exemplo, o nv-ingest da NVIDIA requer 8 servi\u00e7os e v\u00e1rias GPUs para ser implantado no Kubernetes, o que n\u00e3o \u00e9 apenas complexo de implantar, mas tamb\u00e9m caro para agendar.<\/li>\n\n\n\n<li><strong>Taxa comercial por servi\u00e7o<\/strong>O sistema de gest\u00e3o de custos \u00e9 um sistema de gest\u00e3o de custos que, apesar de proporcionar alguma comodidade, \u00e9 inconsistente quando se trata de esquemas complexos e os custos crescem exponencialmente quando aplicados em grande escala.<\/li>\n<\/ol>\n\n\n\n<p>Estas solu\u00e7\u00f5es t\u00eam dificuldade em equilibrar a precis\u00e3o, a escalabilidade e a rela\u00e7\u00e3o custo-efic\u00e1cia, especialmente quando confrontadas com cen\u00e1rios em que \u00e9 necess\u00e1rio processar centenas de milh\u00f5es de p\u00e1ginas de documentos, e o custo \u00e9 muitas vezes proibitivo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/school.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg\" alt=\"\" class=\"wp-image-1269\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-\u914d\u7f6e\u73af\u5883\u4e0e\u8bbe\u7f6egemini-2-0\">Configurando o ambiente e instalando o Gemini 2.0<\/h2>\n\n\n\n<p>Para come\u00e7ar a usar o Gemini 2.0 para processar documentos PDF, primeiro \u00e9 necess\u00e1rio configurar o ambiente e criar um cliente de infer\u00eancia. Aqui est\u00e3o as etapas espec\u00edficas:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u5b89\u88c5\u5fc5\u8981\u7684\u5e93\">Instalar as bibliotecas necess\u00e1rias<\/h3>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">%pip install \"google-genai&gt;=1\"\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u521b\u5efa\u5ba2\u6237\u7aef\u4e0e\u6a21\u578b\u914d\u7f6e\">Criando Clientes e Configura\u00e7\u00f5es de Modelos<\/h3>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">from google import genai\n\n# Criar cliente\napi_key = \"YOUR_API_KEY\" # Substituir pela sua chave API.\ncliente = genai.Client(api_key=api_key)\n\n# Defina o modelo a ser utilizado\nmodel_id = \"gemini-2.0-flash\" # Utilize tamb\u00e9m \"gemini-2.0-flash-lite-preview-02-05\" ou \"gemini-2.0-pro-exp-02-05\"\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u4e0a\u4f20\u548c\u5904\u7406pdf\u6587\u4ef6\">Carregamento e processamento de ficheiros PDF<\/h3>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\"># Carregar ficheiro PDF\ninvoice_pdf = client.files.upload(file=\"invoice.pdf\", config={'display_name': 'invoice'})\n\n# Ver em quantos tokens o ficheiro \u00e9 convertido\nfile_size = client.models.count_tokens(model=model_id, contents=invoice_pdf)\nprint(f'Ficheiro: {invoice_pdf.display_name} \u00e9 igual a {file_size.total_tokens} tokens')\n\n# Exemplo de sa\u00edda: Ficheiro: fatura \u00e9 igual a 821 tokens\n<\/code><\/pre><\/div>\n\n\n\n<p>Com as etapas acima, conclu\u00edmos a configura\u00e7\u00e3o do ambiente b\u00e1sico e carregamos com \u00eaxito o primeiro arquivo PDF para processamento. \u00c9 importante notar que a API de ficheiros do Gemini permite armazenar at\u00e9 20 GB de ficheiros por projeto, com um m\u00e1ximo de 2 GB por ficheiro, e que os ficheiros carregados s\u00e3o guardados durante 48 horas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-\u7ed3\u6784\u5316pdf\u6570\u636e\u63d0\u53d6\u5b9e\u6218\">Pr\u00e1tica de extra\u00e7\u00e3o de dados estruturados em PDF<\/h2>\n\n\n\n<p>Uma carater\u00edstica poderosa do Gemini 2.0 \u00e9 a capacidade de extrair dados estruturados de ficheiros PDF. A seguir, mostraremos como utilizar o modelo Pydantic do caso real com o Gemini para obter esta funcionalidade.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u5b9a\u4e49\u901a\u7528\u6570\u636e\u63d0\u53d6\u65b9\u6cd5\">Definir m\u00e9todos gen\u00e9ricos de extra\u00e7\u00e3o de dados<\/h3>\n\n\n\n<p>Em primeiro lugar, definimos um m\u00e9todo gen\u00e9rico para processar ficheiros PDF e devolver dados estruturados:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">def extract_structured_data(file_path: str, model: BaseModel).\n    # Carregamento de um ficheiro para a API File\n    file = client.files.upload(file=file_path, config={'display_name': file_path.split('\/')[-1].split('.') [0]})\n\n    # Gera\u00e7\u00e3o de uma resposta estruturada utilizando a API Gemini\n    prompt = f \"Extrair os dados estruturados do seguinte ficheiro PDF\"\n    response = client.models.generate_content(model=model_id,\n                                             contents=[prompt, file], config={'response_mime_content')\n                                             \n                                                     'response_schema': model})\n\n    O # transforma a resposta num modelo Pydantic e devolve-a\n    return response.parsed\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u6848\u4f8b1-\u53d1\u7968\u6570\u636e\u63d0\u53d6\">Caso 1: Extra\u00e7\u00e3o de dados de facturas<\/h3>\n\n\n\n<p>Para a classe de fatura\u00e7\u00e3o PDF, podemos definir o seguinte modelo para extrair informa\u00e7\u00f5es-chave:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">from pydantic import BaseModel, Field\n\nclass Item(BaseModel).\n    description: str = Field(description=\"A descri\u00e7\u00e3o do item\")\n    quantidade: float = Field(description=\"The Qty of the item\")\n    gross_worth: float = Field(description=\"O valor bruto do artigo\")\n\nclass Invoice(BaseModel).\n    \"\"\"Extrair o n\u00famero da fatura, a data e todos os itens da lista com a descri\u00e7\u00e3o, a quantidade e o valor bruto e o valor bruto total. \"\"\"\"\n    invoice_number: str = Field(description=\"O n\u00famero da fatura, por exemplo, 1234567890\")\n    date: str = Field(description=\"A data da fatura, por exemplo, 2024-01-01\")\n    items: list[Item] = Field(description=\"A lista de itens com descri\u00e7\u00e3o, quantidade e valor bruto\")\n    total_gross_worth: float = Field(description=\"O valor bruto total da fatura\")\n\n# Extrair os dados utilizando este modelo\nresult = extract_structured_data(\"invoice.pdf\", Invoice)\n\n# Resultados de sa\u00edda\nprint(f \"Fatura extra\u00edda: {result.invoice_number} em {result.date} com valor bruto total {result.total_gross_worth}\")\nfor item in result.items: print(f \"Item: {item_gross_worth}\")\n    print(f \"Item: {item.description} com quantidade {item.quantity} e valor bruto {item.gross_worth}\")\n<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/school.myshirtai.com\/wp-content\/uploads\/2025\/05\/image-54.png\" alt=\"\" class=\"wp-image-1271\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u6848\u4f8b2-\u542b\u624b\u5199\u5185\u5bb9\u7684\u8868\u5355\u5904\u7406\">Caso 2: Processamento de formul\u00e1rios com conte\u00fado manuscrito<\/h3>\n\n\n\n<p>Para formul\u00e1rios com conte\u00fado manuscrito, podemos definir modelos especializados de forma semelhante:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">classe Form(BaseModel).\n    \"\"\"Extrair o n\u00famero do formul\u00e1rio, a data de in\u00edcio do exerc\u00edcio, a data de fim do exerc\u00edcio e o passivo do plano no in\u00edcio do ano e no fim do ano. \"\"\"\"\n    form_number: str = Field(description=\"O n\u00famero do formul\u00e1rio\")\n    start_date: str = Field(description=\"Effective Date\")\n    beginning_of_year: float = Field(description=\"The plan liabilities beginning of the year\")\n    end_of_year: float = Field(description=\"The plan liabilities end of the year\")\n\n# Extrair dados\nresult = extract_structured_data(\"handwriting_form.pdf\", Form)\n\n# Resultados de sa\u00edda\nprint(f'N\u00famero do formul\u00e1rio extra\u00eddo: {result.form_number} com data de in\u00edcio {result.start_date}. \\nPlano de responsabilidades in\u00edcio do ano {result.beginning_of_year} e fim do ano {result.end_of_year}')\n# Exemplo de sa\u00edda: N\u00famero de formul\u00e1rio extra\u00eddo: CA530082 com data de in\u00edcio 02\/05\/2022.\n# Passivos do plano no in\u00edcio do ano 40000.0 e no final do ano 55000.0\n<\/code><\/pre><\/div>\n\n\n\n<p>Atrav\u00e9s do exemplo acima, podemos ver que o Gemini 2.0 consegue identificar com precis\u00e3o o conte\u00fado do texto no PDF, mesmo incluindo texto manuscrito, e convert\u00ea-lo para um formato de dados JSON estruturado, simplificando consideravelmente o processo de extra\u00e7\u00e3o de dados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-\u9ad8\u7ea7\u5e94\u7528-\u6587\u6863\u5206\u5757\u4e0e\u8bed\u4e49\u7406\u89e3\">Aplica\u00e7\u00f5es avan\u00e7adas: fragmenta\u00e7\u00e3o de documentos e compreens\u00e3o sem\u00e2ntica<\/h2>\n\n\n\n<p>Nos sistemas RAG (Retrieval Augmented Generation), a fragmenta\u00e7\u00e3o de documentos \u00e9 um passo fundamental para al\u00e9m da extra\u00e7\u00e3o b\u00e1sica de texto, e o Gemini 2.0 permite-nos fazer tanto o OCR como a fragmenta\u00e7\u00e3o sem\u00e2ntica num \u00fanico passo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-pdf\u8bed\u4e49\u5206\u5757\u793a\u4f8b\">Exemplo de fragmenta\u00e7\u00e3o sem\u00e2ntica em PDF<\/h3>\n\n\n\n<p>Aqui est\u00e1 uma dica para converter PDF para Markdown e para a fragmenta\u00e7\u00e3o sem\u00e2ntica ao mesmo tempo:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">CHUNKING_PROMPT = \"\"\"OCR a seguinte p\u00e1gina em Markdown. As tabelas devem ser formatadas como HTML.\nN\u00e3o coloque tr\u00eas pontos triplos \u00e0 volta do seu resultado.\nDivida o documento em sec\u00e7\u00f5es de cerca de 250 a 1000 palavras. O nosso objetivo \u00e9\nO nosso objetivo \u00e9 identificar partes da p\u00e1gina com o mesmo tema sem\u00e2ntico.\nEstes peda\u00e7os ser\u00e3o incorporados e utilizados num pipeline RAG.\nEnvolva os peda\u00e7os com as etiquetas html  .\"\"\"\"\n\nO # usa este prompt para processamento\nresponse = client.models.generate_content(\n    model=model_id,\n    contents=[CHUNKING_PROMPT, pdf_file]\n)\n\nconte\u00fado_em_cachos = response.text\n<\/code><\/pre><\/div>\n\n\n\n<p>Esta abordagem identifica os limites sem\u00e2nticos de um documento e gera partes de texto mais significativas, melhorando consideravelmente a precis\u00e3o da recupera\u00e7\u00e3o subsequente. Em compara\u00e7\u00e3o com a fragmenta\u00e7\u00e3o mec\u00e2nica tradicional baseada no n\u00famero de caracteres, a fragmenta\u00e7\u00e3o sem\u00e2ntica \u00e9 mais capaz de manter a coer\u00eancia e a integridade do conte\u00fado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u4f7f\u7528pydantic\u8fdb\u884c\u590d\u6742\u6570\u636e\u63d0\u53d6\">Extra\u00e7\u00e3o de dados complexos com Pydantic<\/h3>\n\n\n\n<p>Para cen\u00e1rios mais complexos, podemos definir modelos Pydantic aninhados para tratar v\u00e1rios n\u00edveis de dados:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">class Person(BaseModel): first_name: str = Field(description=\"O primeiro nome da pessoa\")\n    first_name: str = Field(description=\"O primeiro nome da pessoa\")\n    last_name: str = Field(description=\"O \u00faltimo nome da pessoa\")\n    last_name: str = Field(description=\"The last name of the person\") last_name: str = Field(description=\"The last name of the person\")\n    work_topics: list[Topic] = Field(description=\"Os dom\u00ednios de interesse da pessoa; se n\u00e3o forem fornecidos, devolver uma lista vazia\")\n\n# Gerar uma resposta utilizando o modelo Pessoa\nprompt = \"Philipp Schmid \u00e9 um engenheiro s\u00e9nior de rela\u00e7\u00f5es com programadores de IA na Google DeepMind que trabalha no Gemini, Gemma, com a miss\u00e3o de ajudar todos os programadores a construir e beneficiar da IA de uma forma respons\u00e1vel\".\nresponse = client.models.generate_content(\n    model=model_id,\n    contents=prompt,\n    config={'response_mime_type': 'application\/json', 'response_schema': Person}\n)\n\nO SDK # converte automaticamente a resposta para um modelo Pydantic\nphilipp: Person = response.parsed\nprint(f \"O primeiro nome \u00e9 {philipp.first_name}\")\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-\u6027\u80fd\u4f18\u5316\u4e0e\u6700\u4f73\u5b9e\u8df5\">Otimiza\u00e7\u00e3o do desempenho e melhores pr\u00e1ticas<\/h2>\n\n\n\n<p>Eis algumas pr\u00e1ticas recomendadas para melhorar a efici\u00eancia e a precis\u00e3o no processamento de documentos PDF em grande escala:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u6279\u91cf\u5904\u7406\u4e0e\u4ee4\u724c\u4f18\u5316\">Processamento de lotes e otimiza\u00e7\u00e3o de fichas<\/h3>\n\n\n\n<p>Para a necessidade de lidar com um grande n\u00famero de cenas PDF, \u00e9 poss\u00edvel efetuar o processamento em lote para melhorar a efici\u00eancia:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">async def batch_process_pdfs(file_paths, model, batch_size=10):: results = [].\n    resultados = []\n    for i in range(0, len(file_paths), batch_size):: batch = file_paths[i:i+batch_size): batch = file_paths[i:i\n        lote = file_paths[i:i+batch_size]: resultados = [] for i in range(0, len(file_paths), batch_size).\n        tarefas = [extract_structured_data(path, model) for path in batch]\n        batch_results = await asyncio.gather(*tasks)\n        results.extend(batch_results)\n        print(f \"Lote processado {i\/\/batch_size + 1}\/{(len(file_paths)+batch_size-1)\/\/batch_size}\")\n    retornar resultados\n<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u6a21\u578b\u9009\u62e9\u4e0e\u6210\u672c\u63a7\u5236\">Sele\u00e7\u00e3o de modelos e controlo de custos<\/h3>\n\n\n\n<p>A sele\u00e7\u00e3o da variante de modelo correta para os requisitos reais pode reduzir significativamente os custos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gemini 2.0 Flash<\/strong>A melhor escolha para cen\u00e1rios de utiliza\u00e7\u00e3o geral, com uma excelente rela\u00e7\u00e3o pre\u00e7o\/desempenho<\/li>\n\n\n\n<li><strong>Lanterna Gemini 2.0<\/strong>:: Oferece uma melhor rela\u00e7\u00e3o qualidade\/pre\u00e7o para documentos simples<\/li>\n\n\n\n<li><strong>Gemini 2.0 Pro<\/strong>Tratamento de documentos ou cen\u00e1rios extremamente complexos que exigem uma elevada precis\u00e3o<\/li>\n<\/ol>\n\n\n\n<p>Segue-se uma compara\u00e7\u00e3o da efici\u00eancia de processamento dos diferentes modelos:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>modela\u00e7\u00e3o<\/strong><\/th><th><strong>P\u00e1ginas PDF processadas por d\u00f3lar (convers\u00e3o Markdown)<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Gemini 2.0 Flash<\/td><td>Aprox. 6.000 p\u00e1ginas<\/td><\/tr><tr><td>Gemini 2.0 Flash Lite<\/td><td>Aprox. 12.000 p\u00e1ginas<\/td><\/tr><tr><td>Gemini 1.5 Flash<\/td><td>Aprox. 10.000 p\u00e1ginas<\/td><\/tr><tr><td>OpenAI 4-mini<\/td><td>Cerca de 450 p\u00e1ginas<\/td><\/tr><tr><td>OpenAI 4o<\/td><td>Cerca de 200 p\u00e1ginas<\/td><\/tr><tr><td>Cl\u00e1usula antr\u00f3pica-3.5<\/td><td>Aprox. 100 p\u00e1ginas<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u9519\u8bef\u5904\u7406\u4e0e\u91cd\u8bd5\u673a\u5236\">Tratamento de erros e mecanismo de repeti\u00e7\u00e3o<\/h3>\n\n\n\n<p>Num ambiente de produ\u00e7\u00e3o, \u00e9 fundamental implementar mecanismos robustos de tratamento de erros:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">def extract_with_retry(file_path, model, max_retries=3):: for attempt in range(max_retries)\n    for attempt in range(max_retries).\n        try.\n            return extract_structured_data(file_path, model): for attempt in range(max_retries): try.\n        except Exception as e: if attempt == max_retries\n            if attempt == max_retries - 1: print(f \"Falha ao aceder ao ficheiro.\n                print(f \"Falha ao processar {caminho_do_ficheiro} ap\u00f3s {max_retries} tentativas: {e}\")\n                return None\n            print(f \"A tentativa {tentativa+1} falhou, nova tentativa: {e}\")\n            time.sleep(2 ** tentativa) Estrat\u00e9gia de repeti\u00e7\u00e3o exponencial #\n<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/school.myshirtai.com\/wp-content\/uploads\/2025\/05\/rd-bench-example.jpg\" alt=\"\" class=\"wp-image-1270\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-\u8868\u683c\u5904\u7406\u4f18\u5316\">Otimiza\u00e7\u00e3o do processamento de formul\u00e1rios<\/h3>\n\n\n\n<p>Para PDFs que cont\u00eam formul\u00e1rios complexos, as seguintes palavras-chave podem ser utilizadas para melhorar a precis\u00e3o do reconhecimento de formul\u00e1rios:<\/p>\n\n\n\n<div class=\"wp-block-code\"><div class=\"xhcode-toolbar\"><i class=\"xhcode-icon-codesvg\"><\/i><span>PHP<\/span><\/div><pre><code lang=\"php\" class=\"language-php\">TABLE_EXTRACTION_PROMPT = \"\"\"Extrair todas as tabelas do PDF como tabelas HTML.\nPreserve a estrutura exacta, incluindo c\u00e9lulas fundidas, cabe\u00e7alhos e formata\u00e7\u00e3o.\nCada tabela deve ser semanticamente completa e manter as rela\u00e7\u00f5es entre as c\u00e9lulas.\nPara valores num\u00e9ricos, mantenha o seu formato exato, tal como apresentado no documento.\"\"\"\"\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-\u7ed3\u8bed\">observa\u00e7\u00f5es finais<\/h2>\n\n\n\n<p>Com os m\u00e9todos e exemplos de c\u00f3digo apresentados neste artigo, voc\u00ea j\u00e1 pode come\u00e7ar a usar o Gemini 2.0 para criar um poderoso sistema de processamento de documentos PDF. Desde a simples extra\u00e7\u00e3o de texto at\u00e9 a an\u00e1lise de dados estruturados complexos e, em seguida, a fragmenta\u00e7\u00e3o sem\u00e2ntica, o Gemini 2.0 tem demonstrado excelente desempenho e uma \u00f3tima rela\u00e7\u00e3o custo-benef\u00edcio.<\/p>\n\n\n\n<p>Embora ainda haja espa\u00e7o para melhorias em \u00e1reas como o reconhecimento de caixas delimitadoras, mas \u00e0 medida que a tecnologia continua a evoluir, temos raz\u00f5es para acreditar que o futuro do processamento de PDFs se tornar\u00e1 mais inteligente e eficiente. Para qualquer necessidade de processamento em grande escala de dados de documentos para indiv\u00edduos ou organiza\u00e7\u00f5es, o Gemini 2.0 \u00e9, sem d\u00favida, digno de aten\u00e7\u00e3o e de ado\u00e7\u00e3o de avan\u00e7os tecnol\u00f3gicos.<\/p>\n\n\n\n<table style=\"width: 100%;border-collapse: collapse;border: 1px solid #ddd\">\r\n<thead>\r\n<tr style=\"height: 48px;background-color: #f5f5f5\">\r\n<th style=\"width: 50%;height: 48px;border: 1px solid #ddd;padding: 8px\">\r\n<h4 style=\"margin: 0\">Para mais produtos, consultar<\/h4>\r\n<\/th>\r\n<th style=\"width: 50%;height: 48px;border: 1px solid #ddd;padding: 8px\">\r\n<h4 style=\"margin: 0\">Ver mais em<\/h4>\r\n<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr style=\"height: 63px\">\r\n<td style=\"width: 50%;height: 63px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/www.myshirtai.com\/pt\/\" data-linktype=\"2\">ShirtAI - Intelig\u00eancia penetrante<\/a><\/td>\r\n<td style=\"width: 50%;height: 63px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/www.myshirtai.com\/pt\/archives\/4425\/\" data-linktype=\"2\">O Grande Modelo do AIGC: inaugurando uma era de dupla revolu\u00e7\u00e3o na engenharia e na ci\u00eancia - Penetrating Intelligence<\/a><\/td>\r\n<\/tr>\r\n<tr style=\"height: 61px\">\r\n<td style=\"width: 50%;height: 61px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/www.myshirtai.com\/pt\/\" data-linktype=\"2\">1:1 Restaura\u00e7\u00e3o de Claude e GPT Site oficial - AI Cloud Native<\/a><\/td>\r\n<td style=\"width: 50%;height: 61px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/www.bluelsqkj.com\/archives\/2876\" data-linktype=\"2\">Aplica\u00e7\u00e3o de jogos em direto Leitor de visualiza\u00e7\u00e3o de desporto HD global (recomendado) - Blueshirt Technology<\/a><\/td>\r\n<\/tr>\r\n<tr style=\"height: 54px\">\r\n<td style=\"width: 50%;height: 54px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/api.mygptmeta.com\/\" data-linktype=\"2\">Servi\u00e7o de tr\u00e2nsito baseado na API oficial - API GPTMeta<\/a><\/td>\r\n<td style=\"width: 50%;height: 54px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/www.zhihu.com\/question\/621055223\/answer\/3633615705\" data-linktype=\"2\">Ajuda, algu\u00e9m pode dar algumas dicas sobre como fazer perguntas no GPT? - Conhecimento<\/a><\/td>\r\n<\/tr>\r\n<tr style=\"height: 70px\">\r\n<td style=\"width: 50%;height: 70px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/shop.blueshirtmap.com\/\" data-linktype=\"2\">Loja digital de bens virtuais globais - Global SmarTone (Feng Ling Ge)<\/a><\/td>\r\n<td style=\"width: 50%;height: 70px;border: 1px solid #ddd;padding: 8px\"><a href=\"https:\/\/www.bilibili.com\/video\/BV1efpneYE54\/?spm_id_from=333.1387.homepage.video_card.click\" data-linktype=\"2\">Qu\u00e3o poderosa \u00e9 a funcionalidade Claude airtfacts que o GPT instantaneamente n\u00e3o cheira bem? -BeepBeep<\/a><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>","protected":false},"excerpt":{"rendered":"<p>O modelo Gemini 2.0, introduzido pela Google DeepMind, melhora significativamente o processamento de documentos PDF. Em compara\u00e7\u00e3o com as solu\u00e7\u00f5es tradicionais em termos de precis\u00e3o, custo e defici\u00eancias de escalabilidade, o Gemini 2.0 optimiza significativamente o processo de an\u00e1lise de PDF atrav\u00e9s da extra\u00e7\u00e3o de dados estruturados, da fragmenta\u00e7\u00e3o sem\u00e2ntica e do processamento eficiente de lotes, e oferece uma variedade de op\u00e7\u00f5es de modelos para equilibrar o desempenho e o custo.<\/p>","protected":false},"author":1,"featured_media":6426,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[76],"tags":[73,82],"class_list":["post-6427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-depthknowledge","tag-gemini-model","tag-pdf-processing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.3 (Yoast SEO v25.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5 - \u6e17\u900f\u667a\u80fd<\/title>\n<meta name=\"description\" content=\"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e\u6027\u3001\u6210\u672c\u548c\u6269\u5c55\u6027\u4e0a\u7684\u4e0d\u8db3\uff0cGemini 2.0\u901a\u8fc7\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6\u3001\u8bed\u4e49\u5206\u5757\u53ca\u9ad8\u6548\u6279\u91cf\u5904\u7406\uff0c\u5927\u5e45\u4f18\u5316\u4e86PDF\u89e3\u6790\u6d41\u7a0b\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u6a21\u578b\u9009\u62e9\u4ee5\u5e73\u8861\u6027\u80fd\u4e0e\u6210\u672c\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.myshirtai.com\/pt\/archives\/6427\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5\" \/>\n<meta property=\"og:description\" content=\"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e\u6027\u3001\u6210\u672c\u548c\u6269\u5c55\u6027\u4e0a\u7684\u4e0d\u8db3\uff0cGemini 2.0\u901a\u8fc7\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6\u3001\u8bed\u4e49\u5206\u5757\u53ca\u9ad8\u6548\u6279\u91cf\u5904\u7406\uff0c\u5927\u5e45\u4f18\u5316\u4e86PDF\u89e3\u6790\u6d41\u7a0b\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u6a21\u578b\u9009\u62e9\u4ee5\u5e73\u8861\u6027\u80fd\u4e0e\u6210\u672c\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.myshirtai.com\/pt\/archives\/6427\/\" \/>\n<meta property=\"og:site_name\" content=\"\u6e17\u900f\u667a\u80fd\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-16T14:28:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2383\" \/>\n\t<meta property=\"og:image:height\" content=\"1255\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"IvesFeng666\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"IvesFeng666\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427\"},\"author\":{\"name\":\"IvesFeng666\",\"@id\":\"https:\/\/www.myshirtai.com\/#\/schema\/person\/793ffae65b0212a937f22250e83b51e2\"},\"headline\":\"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5\",\"datePublished\":\"2025-05-16T14:28:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427\"},\"wordCount\":98,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.myshirtai.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg\",\"keywords\":[\"Gemini\u6a21\u578b\",\"PDF\u5904\u7406\"],\"articleSection\":[\"\u6df1\u5ea6\u5185\u5bb9\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.myshirtai.com\/archives\/6427#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427\",\"url\":\"https:\/\/www.myshirtai.com\/archives\/6427\",\"name\":\"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5 - \u6e17\u900f\u667a\u80fd\",\"isPartOf\":{\"@id\":\"https:\/\/www.myshirtai.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg\",\"datePublished\":\"2025-05-16T14:28:04+00:00\",\"description\":\"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e\u6027\u3001\u6210\u672c\u548c\u6269\u5c55\u6027\u4e0a\u7684\u4e0d\u8db3\uff0cGemini 2.0\u901a\u8fc7\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6\u3001\u8bed\u4e49\u5206\u5757\u53ca\u9ad8\u6548\u6279\u91cf\u5904\u7406\uff0c\u5927\u5e45\u4f18\u5316\u4e86PDF\u89e3\u6790\u6d41\u7a0b\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u6a21\u578b\u9009\u62e9\u4ee5\u5e73\u8861\u6027\u80fd\u4e0e\u6210\u672c\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.myshirtai.com\/archives\/6427\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage\",\"url\":\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg\",\"contentUrl\":\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg\",\"width\":2383,\"height\":1255},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.myshirtai.com\/archives\/6427#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.myshirtai.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.myshirtai.com\/#website\",\"url\":\"https:\/\/www.myshirtai.com\/\",\"name\":\"\u6e17\u900f\u667a\u80fd\",\"description\":\"ShirtAI\",\"publisher\":{\"@id\":\"https:\/\/www.myshirtai.com\/#organization\"},\"alternateName\":\"ShirtAI\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.myshirtai.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.myshirtai.com\/#organization\",\"name\":\"ShirtAI\",\"alternateName\":\"ShirtAI\",\"url\":\"https:\/\/www.myshirtai.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.myshirtai.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2023\/11\/ShirtAI1279\u00d7675.png\",\"contentUrl\":\"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2023\/11\/ShirtAI1279\u00d7675.png\",\"width\":1200,\"height\":675,\"caption\":\"ShirtAI\"},\"image\":{\"@id\":\"https:\/\/www.myshirtai.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.myshirtai.com\/#\/schema\/person\/793ffae65b0212a937f22250e83b51e2\",\"name\":\"IvesFeng666\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.myshirtai.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e40122f3ea588c331477d2b5778ab521f0ef9275880700b47f592c999e721b7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e40122f3ea588c331477d2b5778ab521f0ef9275880700b47f592c999e721b7?s=96&d=mm&r=g\",\"caption\":\"IvesFeng666\"},\"sameAs\":[\"http:\/\/www.myshirtai.com\"],\"url\":\"https:\/\/www.myshirtai.com\/pt\/archives\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5 - \u6e17\u900f\u667a\u80fd","description":"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e\u6027\u3001\u6210\u672c\u548c\u6269\u5c55\u6027\u4e0a\u7684\u4e0d\u8db3\uff0cGemini 2.0\u901a\u8fc7\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6\u3001\u8bed\u4e49\u5206\u5757\u53ca\u9ad8\u6548\u6279\u91cf\u5904\u7406\uff0c\u5927\u5e45\u4f18\u5316\u4e86PDF\u89e3\u6790\u6d41\u7a0b\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u6a21\u578b\u9009\u62e9\u4ee5\u5e73\u8861\u6027\u80fd\u4e0e\u6210\u672c\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.myshirtai.com\/pt\/archives\/6427\/","og_locale":"pt_PT","og_type":"article","og_title":"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5","og_description":"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e\u6027\u3001\u6210\u672c\u548c\u6269\u5c55\u6027\u4e0a\u7684\u4e0d\u8db3\uff0cGemini 2.0\u901a\u8fc7\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6\u3001\u8bed\u4e49\u5206\u5757\u53ca\u9ad8\u6548\u6279\u91cf\u5904\u7406\uff0c\u5927\u5e45\u4f18\u5316\u4e86PDF\u89e3\u6790\u6d41\u7a0b\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u6a21\u578b\u9009\u62e9\u4ee5\u5e73\u8861\u6027\u80fd\u4e0e\u6210\u672c\u3002","og_url":"https:\/\/www.myshirtai.com\/pt\/archives\/6427\/","og_site_name":"\u6e17\u900f\u667a\u80fd","article_published_time":"2025-05-16T14:28:04+00:00","og_image":[{"width":2383,"height":1255,"url":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg","type":"image\/jpeg"}],"author":"IvesFeng666","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"IvesFeng666","Tempo estimado de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.myshirtai.com\/archives\/6427#article","isPartOf":{"@id":"https:\/\/www.myshirtai.com\/archives\/6427"},"author":{"name":"IvesFeng666","@id":"https:\/\/www.myshirtai.com\/#\/schema\/person\/793ffae65b0212a937f22250e83b51e2"},"headline":"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5","datePublished":"2025-05-16T14:28:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.myshirtai.com\/archives\/6427"},"wordCount":98,"commentCount":0,"publisher":{"@id":"https:\/\/www.myshirtai.com\/#organization"},"image":{"@id":"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage"},"thumbnailUrl":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg","keywords":["Gemini\u6a21\u578b","PDF\u5904\u7406"],"articleSection":["\u6df1\u5ea6\u5185\u5bb9"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.myshirtai.com\/archives\/6427#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.myshirtai.com\/archives\/6427","url":"https:\/\/www.myshirtai.com\/archives\/6427","name":"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5 - \u6e17\u900f\u667a\u80fd","isPartOf":{"@id":"https:\/\/www.myshirtai.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage"},"image":{"@id":"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage"},"thumbnailUrl":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg","datePublished":"2025-05-16T14:28:04+00:00","description":"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e\u6027\u3001\u6210\u672c\u548c\u6269\u5c55\u6027\u4e0a\u7684\u4e0d\u8db3\uff0cGemini 2.0\u901a\u8fc7\u7ed3\u6784\u5316\u6570\u636e\u63d0\u53d6\u3001\u8bed\u4e49\u5206\u5757\u53ca\u9ad8\u6548\u6279\u91cf\u5904\u7406\uff0c\u5927\u5e45\u4f18\u5316\u4e86PDF\u89e3\u6790\u6d41\u7a0b\uff0c\u5e76\u63d0\u4f9b\u591a\u79cd\u6a21\u578b\u9009\u62e9\u4ee5\u5e73\u8861\u6027\u80fd\u4e0e\u6210\u672c\u3002","breadcrumb":{"@id":"https:\/\/www.myshirtai.com\/archives\/6427#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.myshirtai.com\/archives\/6427"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.myshirtai.com\/archives\/6427#primaryimage","url":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg","contentUrl":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg","width":2383,"height":1255},{"@type":"BreadcrumbList","@id":"https:\/\/www.myshirtai.com\/archives\/6427#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.myshirtai.com\/"},{"@type":"ListItem","position":2,"name":"Gemini 2.0 PDF\u89e3\u6790\u5168\u653b\u7565\uff1a\u4ee3\u7801\u5b9e\u4f8b\u4e0e\u6700\u4f73\u5b9e\u8df5"}]},{"@type":"WebSite","@id":"https:\/\/www.myshirtai.com\/#website","url":"https:\/\/www.myshirtai.com\/","name":"\u6e17\u900f\u667a\u80fd","description":"ShirtAI","publisher":{"@id":"https:\/\/www.myshirtai.com\/#organization"},"alternateName":"ShirtAI","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.myshirtai.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.myshirtai.com\/#organization","name":"ShirtAI","alternateName":"ShirtAI","url":"https:\/\/www.myshirtai.com\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.myshirtai.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2023\/11\/ShirtAI1279\u00d7675.png","contentUrl":"https:\/\/www.myshirtai.com\/wp-content\/uploads\/2023\/11\/ShirtAI1279\u00d7675.png","width":1200,"height":675,"caption":"ShirtAI"},"image":{"@id":"https:\/\/www.myshirtai.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.myshirtai.com\/#\/schema\/person\/793ffae65b0212a937f22250e83b51e2","name":"IvesFeng666","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.myshirtai.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e40122f3ea588c331477d2b5778ab521f0ef9275880700b47f592c999e721b7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e40122f3ea588c331477d2b5778ab521f0ef9275880700b47f592c999e721b7?s=96&d=mm&r=g","caption":"IvesFeng666"},"sameAs":["http:\/\/www.myshirtai.com"],"url":"https:\/\/www.myshirtai.com\/pt\/archives\/author\/admin"}]}},"uagb_featured_image_src":{"full":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x.jpg",2383,1255,false],"thumbnail":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-150x79.jpg",150,79,true],"medium":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-1024x539.jpg",1024,539,true],"medium_large":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-768x404.jpg",768,404,true],"large":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-2048x1079.jpg",2048,1079,true],"1536x1536":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-1536x809.jpg",1536,809,true],"2048x2048":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-2048x1079.jpg",2048,1079,true],"trp-custom-language-flag":["https:\/\/www.myshirtai.com\/wp-content\/uploads\/2025\/05\/Jietu20250213-233957@2x-18x9.jpg",18,9,true]},"uagb_author_info":{"display_name":"IvesFeng666","author_link":"https:\/\/www.myshirtai.com\/pt\/archives\/author\/admin"},"uagb_comment_info":0,"uagb_excerpt":"Gemini 2.0\u6a21\u578b\u7531Google DeepMind\u63a8\u51fa\uff0c\u663e\u8457\u63d0\u5347\u4e86PDF\u6587\u6863\u5904\u7406\u80fd\u529b\u3002\u76f8\u6bd4\u4f20\u7edf\u65b9\u6848\u5728\u51c6\u786e&hellip;","_links":{"self":[{"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/posts\/6427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/comments?post=6427"}],"version-history":[{"count":0,"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/posts\/6427\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/media\/6426"}],"wp:attachment":[{"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/media?parent=6427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/categories?post=6427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.myshirtai.com\/pt\/wp-json\/wp\/v2\/tags?post=6427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}