Este é mais um post da série : “Precisei fazer, e estou postando aqui para espalhar conhecimento” . Pois é, recentemente precisei converter imagens para PDF para poder entregar com marca d’agua para o usuário.
Hoje vou mostrar um método simples, utilizando a biblioteca iTextSharp que é bem simples de implementar.
Vamos ao método que eu utilizei em uma página de WebForms :
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using iTextSharp.text; using iTextSharp.text.pdf; using System.IO; using System.Drawing; using System.Drawing.Imaging; namespace GeradorPDF { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GerarPDF(); } protected void GerarPDF() { //Definindo tamanho do documento Document document = new Document(new iTextSharp.text.Rectangle(3508, 2480),40,40,40,40); MemoryStream msDoc = new MemoryStream(); //Criando documento PdfWriter writer = PdfWriter.GetInstance(document, msDoc); document.Open(); //Pegando localização da imagem string localizacao = Server.MapPath("imagem.jpg"); //Definindo resolução iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(localizacao); img.ScaleToFit(3428, 2400); IElement e = img; doc.Add(e); doc.Close(); //Mandando a imagem para o navegador Response.Clear(); Response.AddHeader("content-disposition", "attachment;filename=Arquivo.pdf"); Response.ContentType = "application/pdf"; Response.BinaryWrite(msDoc.ToArray()); Response.End(); } } }
o código é bastante simples, porém muito útil.
Até a próxima!