We ran into a roadblock when our client expressed a specific requirement: the occasional need to edit invoices after generation. Now if you have bought Adobe license it is no-brainer, otherwise it is not feasible with the native PDF format.
Caso de uso: Conversão de faturas de PDF para DOCX
The invoices are generated as non-editable PDFs by SAP Adobe forms with a complicated design. After exploring many technical options, I came to realize there was no way to convert file yet keep the exact original formatting (including images and colors) within SAP unless I convert all the Adobe form invoices to Smartform and then get them printed into XLS version. But it wasn't acceptable so I decided to make things interesting by integrating Python with SAP.
Python offers a large catalog of libraries to perform nearly anything. But not all of them can be safe to use. I came across a library which converted PDF to XLS format like a charm, exact same format. But I could not rely upon it with my client's data as I wasn't sure how it worked in backend. If it saves any uploaded file somewhere in their cloud. So I decided to go with a relatively reliable and much popular library - PDF2DOCX (código disponível
online
para garantir que funcione localmente).
De vez en cuando nos encontramos con la necesidad de convertir un PDF a algún formato editable, por lo que decidí crear un programa SAP genérico que llamaría a un script de Python en el backend para convertir cualquier archivo PDF a formato .docx.
Objetivo da Integração
-
Manter a precisão dos dados:
Assegurar que durante a conversão de PDF para DOCX, todos os dados, formato e elementos estruturais sejam mantidos com precisão para evitar qualquer perda ou representação incorreta da informação.
-
Manter a segurança dos dados:
Garantir que os dados sensíveis e confidenciais do cliente permaneçam seguros ao gerenciar o processo de conversão internamente, sem transmitir dados externamente, cumprindo assim os protocolos rígidos de segurança e privacidade de dados.
-
Solução interna:
Desenvolver uma solução dentro do framework tecnológico existente (SAP e Python), eliminando assim a necessidade de software ou serviços externos e garantindo uma integração mais estreita com os processos existentes.
-
Acessibilidade do usuário:
Criar uma interface e processo amigáveis para o usuário dentro do SAP, onde os usuários possam selecionar, converter e utilizar documentos facilmente, garantindo que a complexidade em segundo plano permaneça abstrata.
-
Abordagem custo-efetiva:
Fornecer uma solução confiável para a conversão de documentos sem incorrer em custos adicionais relacionados a licenças de software ou serviços de terceiros.
Fluxo de trabalho detalhado
-
Dado que o código Python será executado no servidor SAP, o Python deve estar instalado lá. Geralmente, a equipe de Basis ou OS tem acesso para instalar o Python no servidor SAP. Para este projeto, é necessária a instalação de 2 bibliotecas Python após a instalação do Python: OS, PDF2DOCX.
-
Pedro Pascal
Se unió el 07/03/2018