سؤال

وأود أن تحويل من صورة (مثل JPG أو PNG) إلى PDF.

ولقد سحبه ImageMagickNET ، لكنه أبعد ما يكون معقد جدا لاحتياجاتي.

وماذا البعض. NET الحلول أو رمز هناك لتحويل صورة إلى PDF؟

هل كانت مفيدة؟

المحلول

iTextSharp يفعل جميلة نظيفة ومفتوحة المصدر. أيضا، فقد كتاب المصاحب جيد جدا من قبل المؤلف حيث أوصي إذا كنت في نهاية المطاف القيام بأشياء أكثر إثارة للاهتمام مثل إدارة النماذج. للاستخدام العادي، هناك موارد الكثير على القوائم البريدية ومجموعات الأخبار لعينات من كيفية القيام الأشياء المشتركة.

وتحرير: كما ألمح إليها في @ تعليق جيراق في و <لأ href = "https://stackoverflow.com/ و/ 1642301/11635 "> @ دارين في الإجابة ديه الرمز الذي يجمع بالتأكيد مع الإصدارات الحالية.

<الإضراب> استخدام مثال:

<الإضراب>
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);
        }
    }
}

<الإضراب>

نصائح أخرى

وسهلة مع 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();
        }
    }
}

واحد لدينا حظ كبير مع غير PDFSharp (نستخدمها لTIFF ونص على تحويل PDF لمئات المطالبات الطبية كل يوم).

http://pdfsharp.com/PDFsharp/

وقانون العمل آخر، انها محاولة

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

وهذه المهمة يمكن القيام به بسهولة مع مساعدة من Docotic.Pdf مكتبة .

وهنا عينة الذي يخلق PDF من الصور معين (لا و .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);
    }
}

تنويه: أنا أعمل للبائع المكتبة

.

ولست متأكدا إذا كنت تبحث عن حلول المصدر فقط متوفر / مفتوحة أو النظر في تلك التجارية كذلك. ولكن إذا كنت بما في ذلك الحلول التجارية، وهناك مجموعة أدوات دعا EasyPDF SDK الذي يوفر API لتحويل الصور (بالإضافة إلى عدد من أنواع الملفات الأخرى) إلى PDF. وهو يدعم C #، ويمكن العثور عليها هنا:

 http://www.pdfonline.com/

ووC # رمز من شأنها أن تبدو على النحو التالي:

 Printer oPrinter = new Printer();

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

لتكون شفافة تماما، يجب أن نخلي أنني لا تعمل لصناع EasyPDF SDK (وبالتالي بلدي المقبض)، لذلك هذا اقتراح لا يخلو من بعض التحيز الشخصي :) ولكن لا تتردد في مراجعة النسخة حدة التقييم إذا كنت ' إعادة المهتمين. هتاف!

والعديد من الأدوات فرق هناك. واحد الأول هو استخدام PrimoPDF (FREE) http://www.primopdf.com/ الذي يذهب إلى طباعة ملف وطباعته على شكل قوات الدفاع الشعبي على محرك الأقراص. يعمل على ويندوز

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top