Frage

Ich möchte aus einem Bild konvertieren (wie jpg oder png) in PDF.

Ich habe ImageMagickNET , aber es ist viel zu komplex für meine Bedürfnisse.

Welche anderen .NET-Lösungen oder Code gibt es für ein Bild in eine PDF-Konvertierung?

War es hilfreich?

Lösung

iTextSharp tut es ziemlich sauber und ist Open Source. Außerdem hat es ein sehr gutes Begleitbuch vom Autor , die ich empfehlen, wenn Sie am Ende tun interessantere Dinge wie die Verwaltung von Formularen auf. Für den normalen Gebrauch, gibt es viele Ressourcen auf Mailinglisten und Newsgroups für Proben, wie üblich, Dinge zu tun.

EDIT: als Chirag Kommentar , spielte auf @ https://stackoverflow.com/ a / 1642301 / 11635" > @ Darins Antwort hat Code, der mit dem aktuellen Versionen kompiliert definitiv.

Beispiel Nutzung:

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);
        }
    }
}

Andere Tipps

Einfach mit 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();
        }
    }
}

Ein wir großes Glück gehabt haben mit ist PDFSharp (wir es für TIFF und Text zu PDF-Konvertierung verwenden für Hunderte von medizinischen Ansprüche täglich).

http://pdfsharp.com/PDFsharp/

Ein weiterer Arbeitscode, versuchen Sie es

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());
        }
}

Eine solche Aufgabe leicht mit Hilfe von Docotic.Pdf Bibliothek .

Hier ist ein Beispiel, das PDF aus gegebenen Bildern (nicht nur JPGs, tatsächlich) erzeugt:

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: Ich arbeite für den Verkäufer der Bibliothek

.

nicht sicher, ob Sie suchen gerade frei / Open-Source-Lösungen oder unter Berücksichtigung als auch kommerzielle. Aber wenn Sie kommerzielle Lösungen einschließlich, gibt es ein Toolkit namens EasyPDF SDK, die für die Umwandlung von Bildern eine API bietet (plus eine Reihe anderer Dateitypen) in PDF. Es unterstützt C # und kann hier gefunden werden:

 http://www.pdfonline.com/

Der C # Code würde wie folgt aussehen:

 Printer oPrinter = new Printer();

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

vollständig transparent zu sein, soll ich dementieren, dass ich für die Hersteller von EasyPDF SDK arbeiten (daher mein Griff), so dass dieser Vorschlag ist nicht ohne persönliche Voreingenommenheit :) Aber das Gefühl frei, die eval-Version, wenn Sie überprüfen‘ interessiert sind. Cheers!

Viele diff-Tools gibt. Ich benutze ist PrimoPDF (kostenlos) http://www.primopdf.com/ die gehen drucken Datei und Sie es pDF-Format auf Ihre Festplatte drucken. funktioniert unter Windows

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top