C# - Convertendo imagens JPG para PDF
Neste artigo eu vou apresentar uma aplicação Windows Forms feita na linguagem C# que converte imagens JPG para PDF. |
A aplicação utiliza os recursos do iTextSharp para realizar a conversão.
O iText é uma biblioteca de PDF que permite que você crie, adapte, inspecione e mantenha documentos no formato PDF - Portable Document Format.
Alguns
recursos oferecidos pelo IText:
- Gerar documentos e relatórios com base em dados de um
arquivo XML ou um banco de dados;
- Criar mapas e livros, explorando inúmeros recursos interativos disponíveis em
PDF;
- Adicione marcadores, números de página, marcas d'água e outros recursos para
documentos PDF existentes
- Dividir ou concatenar páginas de arquivos PDF existentes;
- Preencher formulários interativos;
- Servir documentos PDF dinamicamente gerados ou manipulados para um navegador
web;
O iText é usado pelo Java, .NET, Android e GAE desenvolvedores para
melhorar as suas aplicações com funcionalidade PDF.
O iTextSharp é a porte para plataforma.NET
do Itext.
A nossa aplicação exemplo mostra como usar o ITextSharp e funciona assim:
Selecione uma pasta onde estão as imagens que deseja converter e a pasta de saída do arquivo PDF que irá conter as imagens PDF.
Abaixo vemos o formulário da aplicação com a barra de progresso indicando o progresso da operação:
O método que faz todo o trabalho é o método ImagensParaPDF() mostrado a seguir:
public void ImagensParaPDF(string ImagemCaminhoOrigem, string caminhoSaidaPDF)
{
string[] caminhoImagens = GetImageFiles(ImagemCaminhoOrigem);
if (caminhoImagens.Length > 0)
{
this.progressBar1.Minimum = 1;
this.progressBar1.Maximum = caminhoImagens.Length;
string pdfpath = caminhoSaidaPDF + ImagemCaminhoOrigem.Substring(ImagemCaminhoOrigem.LastIndexOf("\\")) + ".pdf";
if (File.Exists(pdfpath))
{
pdfpath = SetNewName(caminhoSaidaPDF, ImagemCaminhoOrigem.Substring(ImagemCaminhoOrigem.LastIndexOf("\\") + 1));
}
using (var doc = new iTextSharp.text.Document())
{
iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(pdfpath, FileMode.Create));
doc.Open();
foreach (var item in caminhoImagens)
{
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(item);
//image.SetAbsolutePosition(30f, 30f);
if (this.chkScalebyImageSize.Checked)
{
image.ScaleToFit(doc.PageSize.Width - 60, doc.PageSize.Height - 60);
}
else
{
image.ScaleAbsoluteHeight(doc.PageSize.Height - 60);
image.ScaleAbsoluteWidth(doc.PageSize.Width - 60);
}
doc.Add(image);
if (this.progressBar1.Maximum <= caminhoImagens.Length)
this.progressBar1.Increment(1);
}
}
}
else
{
MessageBox.Show("Imagem não encontrada.", "Pare!", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
|
Simples e funcional. Você pode incrementar o projeto com outras funcionalidades.
Pegue o projeto completo aqui: JPG_PDF.zip
Disse-lhes, pois,
Jesus: Quando levantardes o Filho do homem, então conhecereis que EU SOU, e que
nada faço por mim mesmo; mas isto falo como meu Pai me ensinou.
E aquele que me enviou está comigo. O Pai não me tem deixado só, porque eu faço
sempre o que lhe agrada.
João 8:28-29
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: