Pdf2docx: Ignorar página devido a erro: o objeto 'TableBlock' não tem atributo 'linhas'

Criado em 4 fev. 2021  ·  5Comentários  ·  Fonte: dothinking/pdf2docx

Olá, encontrei este erro ao analisar aqui: Ignorar página devido ao erro: O objeto 'TableBlock' não tem atributo 'linhas'. Eu apenas tentei e descobri que 0.5.0 pode ser analisado, mas o efeito não é particularmente bom (mas é inofensivo), mas a versão 0.5.1 que estou usando agora terá o erro acima. Não sei se algumas mudanças no código durante o processo de iteração da versão causaram novos problemas.

Enviei o arquivo de teste para sua caixa de correio.

Obrigado!

bug

Todos 5 comentários

Obrigado por fazer perguntas e fornecer documentos de teste.

0.5.1 versão

  1. Encontre o arquivo Shape.py :
>>> import pdf2docx
>>> pdf2docx.shape.Shape.__file__
  1. Localize o método semantic_type() (em torno da linha 89), adicione uma linha de acordo com o comentário abaixo
for block in blocks:
    if not block.is_text_block(): continue  # 增加这一行判断

    # not intersect yet
    if block.bbox.y1 < self.bbox.y0: continue

    # check it when intersected
    rect_type = self._check_semantic_type(block)
    if rect_type != RectType.UNDEFINED: break

    # no intersection any more
    if block.bbox.y0 > self.bbox.y1: break

Obrigado novamente por apontar o problema, as correções recentes desses dois problemas serão adicionadas à próxima versão.

Além disso, comparou os efeitos de conversão de 0.5.0 e 0.5.1 e descobriu que não há muitas melhorias. Não sei quais são suas necessidades de conversão de pdf em word, extração de texto, manutenção da formatação ou facilitação da edição de texto? Algumas ferramentas de PDF (PDF-xchange, Foxit, etc.) também podem modificar o texto diretamente, o que é relativamente mais conveniente. Portanto, não tenho certeza sobre a direção da biblioteca pdf2docx . obrigado.

Obrigado, acabei de experimentar e resolveu meu problema perfeitamente.

Minha demanda atual é a conversão em lote de tipos específicos de documentos e, a seguir, preservar o formato o máximo possível. Será mais problemático simplesmente usar o acrobata ou outras ferramentas. Então, eu quero resolver isso com código. Acho que você pode dar uma olhada na estrutura sólida, a biblioteca pdf2docx que eu acho que é uma biblioteca relativamente próxima. No futuro, acho que é possível aumentar a função de auto-modificação pelos usuários (como alterar json). Para diferentes tipos de arquivos e diferentes tipos de necessidades, cada um pode otimizar alguns parâmetros e condições de acordo com suas próprias circunstâncias.

Muito boa proposta, obrigado.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

JoHnTsIm picture JoHnTsIm  ·  7Comentários

startxc picture startxc  ·  4Comentários

Jalkhov picture Jalkhov  ·  5Comentários

echan00 picture echan00  ·  9Comentários

chuma picture chuma  ·  3Comentários