Convertitore da JPG a PDF in C #

Mi piacerebbe convertire da un’immagine (come jpg o png) in PDF.

Ho controllato ImageMagickNET , ma è troppo complesso per le mie esigenze.

Quali altre soluzioni o codici .NET esistono per la conversione di un’immagine in PDF?

iTextSharp lo fa in modo pulito ed è open source. Inoltre, ha un ottimo libro di accompagnamento dall’autore che consiglio se finisci per fare cose più interessanti come la gestione dei moduli. Per l’utilizzo normale, ci sono molte risorse su mailing list e newsgroup per esempi su come fare cose comuni.

EDIT: come accennato nel commento di @ Chirag , la risposta di @ Darin ha un codice che sicuramente compila con le versioni correnti.

Esempio di utilizzo:

public static void ImagesToPdf(string[] imagepaths, string pdfpath) { using(var doc = new iTextSharp.text.Document()) { iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(pdfpath, FileMode.Create)); doc.Open(); foreach (var item in imagepaths) { iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(item); doc.Add(image); } } } 

Facile con iTextSharp :

 class Program { static void Main(string[] args) { Document document = new Document(); using (var stream = new FileStream("test.pdf", FileMode.Create, FileAccess.Write, FileShare.None)) { PdfWriter.GetInstance(document, stream); document.Open(); using (var imageStream = new FileStream("test.jpg", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var image = Image.GetInstance(imageStream); document.Add(image); } document.Close(); } } } 

Uno con cui abbiamo avuto fortuna è PDFSharp (lo usiamo per la conversione TIFF e Text to PDF per centinaia di richieste mediche ogni giorno).

http://pdfsharp.com/PDFsharp/

Tale compito può essere fatto facilmente con l’aiuto della libreria Docotic.Pdf .

Ecco un esempio che crea PDF da immagini fornite (in realtà non solo JPG):

 public static void imagesToPdf(string[] images, string pdfName) { using (PdfDocument pdf = new PdfDocument()) { for (int i = 0; i < images.Length; i++) { if (i > 0) pdf.AddPage(); PdfPage page = pdf.Pages[i]; string imagePath = images[i]; PdfImage pdfImage = pdf.AddImage(imagePath); page.Width = pdfImage.Width; page.Height = pdfImage.Height; page.Canvas.DrawImage(pdfImage, 0, 0); } pdf.Save(pdfName); } } 

Disclaimer: lavoro per il venditore della biblioteca.

Un altro codice funzionante, provalo

 public void ImagesToPdf(string[] imagepaths, string pdfpath) { iTextSharp.text.Rectangle pageSize = null; using (var srcImage = new Bitmap(imagepaths[0].ToString())) { pageSize = new iTextSharp.text.Rectangle(0, 0, srcImage.Width, srcImage.Height); } using (var ms = new MemoryStream()) { var document = new iTextSharp.text.Document(pageSize, 0, 0, 0, 0); iTextSharp.text.pdf.PdfWriter.GetInstance(document, ms).SetFullCompression(); document.Open(); var image = iTextSharp.text.Image.GetInstance(imagepaths[0].ToString()); document.Add(image); document.Close(); File.WriteAllBytes(pdfpath+"cheque.pdf", ms.ToArray()); } } 

Non sono sicuro che tu stia cercando solo soluzioni free / open source o considerando anche quelle commerciali. Ma se includi soluzioni commerciali, esiste un kit di strumenti chiamato EasyPDF SDK che offre un’API per convertire le immagini (più una serie di altri tipi di file) in PDF. Supporta C # e può essere trovato qui:

  http://www.pdfonline.com/ 

Il codice C # sarebbe il seguente:

  Printer oPrinter = new Printer(); ImagePrintJob oPrintJob = oPrinter.ImagePrintJob; oPrintJob.PrintOut(imageFile, pdfFile); 

Per essere completamente trasparente, dovrei esonerare che lavoro per i creatori di EasyPDF SDK (da qui il mio handle), quindi questo suggerimento non è privo di pregiudizi personali 🙂 Ma se sei interessato, non esitare a controllare la versione di Eval. Saluti!

Molti strumenti diff fuori là. Uno che uso è PrimoPDF (FREE) http://www.primopdf.com/ vai a stampare il file e lo stampi in formato pdf sul tuo lettore. funziona su Windows