Executando verificação de segurança...
1

JPDF- O fim do proxy para o ILovePDF

Eu sou bem iniciante no mundo Java. Então, estou realizando um projeto básico para trabalhar com PDFs. As principais funcionalidades que estou buscando são: Unir dois ou mais PDFs em um único documento e realizar a conversão de DOCX para PDF. Esses são problemas que enfrento na faculdade que estudo atualmente quando preciso realizar a entrega de documentos para os professores.

Problema

Basicamente, quando trabalho com outras pessoas realizando trabalho em conjunto, eu sempre gero um documento Word online para trabalharmos juntos. Nesse caso, o problema não existe, visto que a própria ferramenta utilizada disponibiliza essa função de conversão de DOCX para PDF. Contudo, quando meus amigos fazem os trabalhos deles, eles fazem em um documento offline para, só então, realizar a conversão para PDF.

Eu sei que existem um monte de sites online que realizam essas conversões de graça, como o ILovePDF. Entretanto, já virou a rotina deles me pedirem para fazer isso. Aliás, também já tentei ensinar como usar o ILovePDF, mas eles simplesmente amam me usar como Proxy para o ILovePDF. Então, decidi usar esse contexto para fazer uma ferramenta que realiza esse "trabalho" para mim.

Objetivo

O objetivo é ter uma ferramenta de linha de comando capaz de realizar tarefas básicas relacionadas a PDF e eliminar o meu trabalho de proxy. Além disso, também quero praticar um pouco de java, manejo de dependências no mundo Java e orientação a objetos.

Construção

Eu estava buscando um modo de construir essa aplicação onde a adição de novas funcionalidades relacionadas ao seu objetivo principal fosse feita de modo em que eu necessitasse alterar o código o MÍNIMO possível. Portanto, construi o meu próprio "parser" para entender os comandos da linha de comando e, com base nisso, realizei a construção de diversos "Builders" que constroem essa parte para mim.

Conceitos Aprendidos

  • Sobrecarga de Métodos.
  • Enhanced For.
  • Nova definição de corno job feita com sucesso ao tentar manejar as dependências desse projeto sem um software gerenciador.
  • HashMap
  • Interfaces.
  • Herança.
  • Classes Abstratas.
  • System.getProperty
  • List
  • ArrayList
  • Arrays
  • Manipulação de Strings
  • Utilização de Bibliotecas de Terceiros.

Notas

  • Para aquelas versados em Java, por favor, caso queiram e tenham tempo, analisem e digam o que pode melhorar e o que não pode. Estou totalmente aberto para críticas e sugestões de melhoria.
  • Eu sei que esse problema é um problema já muito bem resolvido, mas tudo pelo aprendizado vale a pena.

Atualizações.

De ontem para hoje trabalhei em mais alguns aspectos: primeiramente, adicionei o gradle como build tool. Estava cansado de ficar fazendo as coisas na mão. Automaticamente, ganhei uma ferramenta de teste que o Intelij já coloca junto com o gradle e comecei a usá-la. Por fim, adicionei a funcionalidade de Conversão de DOCx para PDF. Agora vou terminar de construir os testes e ver no que dá!

Carregando publicação patrocinada...
2
1

Que belo trabalho, muito legal eu tenho mesmo problema mas acabei seguindo outra linha, Toda vez que me pedem isso eu falo, vá no google e pesquise, estou ocupado. apos x tentativas pararam de me pedir.

1

Entendo perfeitamente kkkkkkkk já cansei de fazer isso, mas usei isso como motivação. To quase fazendo um executável e mandando pra eles kkkkkkkk

1

Uma sugestão seria tentar refatorar o código e buscar por pontos de melhoria na leitura do código, depois avaliar a escrita de testes unitários. Mas parabéns e continue firme nos estudos!

0