تبدیل تصاویر به PDF یک سناریوی مهم و مفید برای برنامه های کاربردی پردازش فایل است. در این مقاله به آموزش تبدیل تصاویر JPG، PNG، TIFF، EMF، WMF و BMP به PDF با استفاده از C# یا VB.NET می پردازیم. در زیر مراحل نصب و چند مورد از موارد استفاده ممکن برای تبدیل تصاویر آمده است:

C# Image to PDF Converter API - نصب

ما این فرمت های تصویر را با استفاده از Aspose.PDF for .NET API تبدیل به PDF انجام خواهیم داد. می توانید آن را از بخش Releases یا از طریق NuGet Gallery با دستور زیر دانلود کنید:

Install-Package Aspose.Pdf -Version 20.9.0

بنابراین API تاکنون با موفقیت نصب شده است. اجازه دهید به بررسی موارد استفاده مختلف بپردازیم:

تبدیل JPG به PDF با سی شارپ

با مراحل زیر می توانید به راحتی یک تصویر JPG را به PDF تبدیل کنید:

  1. شیء کلاس Document را مقداردهی کنید
  2. یک صفحه جدید به سند PDF اضافه کنید
  3. تصویر JPG را بارگیری کنید و به پاراگراف اضافه کنید
  4. ذخیره PDF خروجی

قطعه کد زیر نحوه تبدیل تصویر JPG به PDF با استفاده از C# را نشان می دهد:

// فایل JPG ورودی را بارگیری کنید
String path = dataDir + "Aspose.jpg";

// سند PDF جدید را راه اندازی کنید
Document doc = new Document();

// صفحه خالی را در سند خالی اضافه کنید
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// اضافه کردن تصویر در صفحه
page.Paragraphs.Add(image);

// ذخیره فایل PDF خروجی
doc.Save(dataDir + "ImagetoPDF.pdf");

در زیر اسکرین شات تبدیل JPG به PDF را مشاهده می کنید:

تصویر به PDF

با این حال، در این اسکرین شات، می توانید متوجه شوید که تصویر به یک صفحه PDF تبدیل شده است، اما ابعاد و حاشیه های پیش فرض صفحه در سند PDF خروجی اعمال می شود. Aspose.PDF for .NET API به شما امکان می دهد ابعاد و حاشیه صفحه را کنترل کنید که به شما کمک می کند دقیقاً اندازه PDF با ابعاد تصویر ایجاد کنید. اجازه دهید به بررسی این ویژگی بپردازیم:

تبدیل تصویر به PDF با ارتفاع و عرض یکسان

در ادامه این مثال از مورد استفاده بالا، زیرا می توانید اندازه صفحه بزرگتر را در تصویر بالا مشاهده کنید. بیایید یاد بگیریم که چگونه یک تصویر را با همان ارتفاع و عرض صفحه به PDF تبدیل کنیم. ما ابعاد تصویر را دریافت می کنیم و بر این اساس ابعاد صفحه سند PDF را با مراحل زیر تنظیم می کنیم:

  1. فایل تصویر ورودی را بارگیری کنید
  2. ارتفاع و عرض تصویر را بدست آورید
  3. ارتفاع، عرض و حاشیه یک صفحه را تنظیم کنید
  4. فایل PDF خروجی را ذخیره کنید

قطعه کد زیر نحوه تبدیل یک تصویر به PDF با ارتفاع و عرض صفحه با استفاده از C# را نشان می دهد:

// فایل تصویری JPG ورودی را بارگیری کنید
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);

// ارتفاع تصویر ورودی را بخوانید
int h = srcImage.Height;

// ارتفاع تصویر ورودی را بخوانید
int w = srcImage.Width;

// یک سند PDF جدید را راه اندازی کنید
Document doc = new Document();

// یک صفحه خالی اضافه کنید
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// ابعاد و حاشیه صفحه را تنظیم کنید
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// ذخیره فایل PDF خروجی
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");

بنابراین می توانید تفاوت ابعاد صفحه ای که با قطعه کد به روز شده ایجاد شده است را متوجه شوید:

در نهایت، می توانید متوجه شوید که اندازه صفحه مطابق با ابعاد تصویر ورودی دقیقاً مشابه است و در حال حاضر هیچ حاشیه صفحه پیش فرض دیگری تنظیم نشده است.

تبدیل PNG به PDF با استفاده از سی شارپ

فرمت تصویر PNG به دلیل ویژگی های آن در مقایسه با تصاویر JPG محبوب است. به عنوان مثال، تصاویر PNG از شفافیت پشتیبانی می کنند. ابتدا اجازه دهید PNG را با مراحل زیر به PDF تبدیل کنیم:

  1. تصویر PNG ورودی را بارگیری کنید
  2. مقادیر ارتفاع و عرض را بخوانید
  3. سند جدید ایجاد کنید و صفحه را اضافه کنید
  4. تنظیم ابعاد صفحه
  5. ذخیره فایل خروجی

علاوه بر این، قطعه کد زیر نحوه تبدیل PNG به PDF با سی شارپ را در برنامه های NET خود نشان می دهد:

// فایل PNG ورودی را بارگیری کنید
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;

// مقداردهی اولیه سند جدید
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// تنظیم ابعاد صفحه
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// ذخیره PDF خروجی
doc.Save(dataDir + "ImagetoPDF.pdf");

تبدیل TIFF به PDF با استفاده از سی شارپ

یک تصویر TIFF با فرمت‌های معمولی JPEG، PNG یا فرمت‌های دیگر متفاوت است، به‌گونه‌ای که یک تصویر TIFF می‌تواند چندین فریم با تصاویر متفاوت داشته باشد. فرمت فایل Aspose.PDF نیز پشتیبانی می شود، چه یک فریم یا یک تصویر TIFF چند فریم. بنابراین می توانید تصویر TIFF را در برنامه های NET خود به PDF تبدیل کنید. بنابراین، نمونه ای از تبدیل تصویر TIFF چند صفحه ای به سند PDF چند صفحه ای را با مراحل زیر در نظر خواهیم گرفت:

  1. نمونه ای از کلاس Document را نمونه سازی کنید
  2. تصویر TIFF ورودی را بارگیری کنید
  3. FrameDimension قاب ها را دریافت کنید
  4. برای هر فریم صفحه جدید اضافه کنید
  5. در نهایت، تصاویر را در صفحات PDF ذخیره کنید

علاوه بر این، قطعه کد زیر نحوه تبدیل تصویر TIFF چند صفحه ای یا چند فریمی به PDF با C# را نشان می دهد:

// مقداردهی اولیه سند جدید
Document pdf = new Document();

//تصویر TIFF را در جریان بارگذاری کنید
MemoryStream ms = new MemoryStream();
new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms);
Bitmap myimage = new Bitmap(ms);
// چند صفحه یا چند فریم TIFF را به PDF تبدیل کنید
FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]);
int frameCount = myimage.GetFrameCount(dimension);

// در هر فریم تکرار کنید
for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
{
    Page sec = pdf.Pages.Add();

    myimage.SelectActiveFrame(dimension, frameIdx);

    MemoryStream currentImage = new MemoryStream();
    myimage.Save(currentImage, ImageFormat.Tiff);

    Aspose.Pdf.Image imageht = new Aspose.Pdf.Image();
    imageht.ImageStream = currentImage;
    sec.Paragraphs.Add(imageht);
}

// ذخیره فایل PDF خروجی
pdf.Save(dataDir + "TifftoPDF.pdf");

تبدیل تصویر EMF به PDF با استفاده از سی شارپ

تصاویر EMF که با نام Enhanced Metafile Format نیز شناخته می شوند، در واقع تصاویری مستقل از دستگاه هستند. علاوه بر این، می توانید EMF را با استفاده از مراحل زیر به تصویر PDF تبدیل کنید:

  1. ابتدا، شی کلاس Document را مقداردهی اولیه کنید
  2. فایل تصویر EMF را بارگیری کنید
  3. تصویر EMF بارگذاری شده را به یک صفحه اضافه کنید
  4. سند PDF را ذخیره کنید

علاوه بر این، قطعه کد زیر نحوه تبدیل EMF به PDF با C# را در قطعه کد NET خود نشان می دهد:

// سند PDF جدید را راه اندازی کنید
var doc = new Document();

// مسیر فایل تصویری EMF ورودی را مشخص کنید
var imageFile = dataDir + "drawing.emf";
var page = doc.Pages.Add(); 
string file = imageFile;
FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(filestream);
long numBytes = new FileInfo(file).Length;
byte[] bytearray = reader.ReadBytes((int)numBytes);
Stream stream = new MemoryStream(bytearray);
var b = new Bitmap(stream);

// مشخصات ابعاد صفحه را مشخص کنید
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Width = b.Width;
page.PageInfo.Height = b.Height;
var image = new Aspose.Pdf.Image();
image.File = imageFile;
page.Paragraphs.Add(image);

//ذخیره سند PDF خروجی
doc.Save(dataDir + "EMFtoPDF.pdf");

تبدیل BMP به PDF با سی شارپ

تصاویر BMP تصاویر Bitmap هستند که می‌توانید با Aspose.PDF برای NET API به PDF تبدیل کنید. بنابراین، برای تبدیل تصاویر BMP می توانید مراحل زیر را دنبال کنید:

  1. یک سند جدید را راه اندازی کنید
  2. تصویر BMP ورودی را بارگیری کنید
  3. در نهایت فایل PDF خروجی را ذخیره کنید

بنابراین قطعه کد زیر این مراحل را دنبال می کند و نحوه تبدیل BMP به PDF را با استفاده از C# نشان می دهد:

Initialize empty PDF document
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // فایل تصویری نمونه BMP را بارگیری کنید
    image.File = dataDir + @"Sample.bmp";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // ذخیره سند PDF خروجی
    pdfDocument.Save(dataDir + @"BMPtoPDF.pdf");
}

اطلاعات: سایر APIهای Aspose، به ویژه Aspose.Slides for .NET، ممکن است به شما اجازه دهند این [تصویر به PDF] را نیز انجام دهید (https:// وظایف تبدیل products.aspose.com/slides/net/conversion/image-to-pdf/): JPG به PDF و [PNG به PDF] (https://products.aspose.com/slides/net/conversion/png-to-pdf/).

نتیجه

پس از همه، ما تبدیل تصاویر به PDF را از جنبه های مختلف با استفاده از سی شارپ بررسی کرده ایم. تبدیل های مختلف از جمله تبدیل JPG، PNG، TIFF، EMF و BMP به PDF به تفصیل مورد بحث قرار گرفته است. علاوه بر این، ما یاد گرفته‌ایم که چگونه هنگام تنظیم اندازه و حاشیه صفحه، تصویر را به PDF بهبود دهیم. علاوه بر این، اگر هنوز سؤال یا سؤالی دارید، لطفاً در تالار گفتمان پشتیبانی رایگان با ما تماس بگیرید.

همچنین ببینید

تبدیل فایل AI به PNG، JPG، PSD و PDF با C#.NETتبدیل تصویر به DOC در سی شارپتبدیل تصویر به DOCX در سی شارپ
تبدیل JPG به DOC در C#.NETتبدیل JPG به DOCX در C#.NETتبدیل PNG به DOC در C#.NET
تبدیل PNG به DOCX در C#.NETتبدیل PPT به JPG در پایتونتبدیل SVG به PNG در پایتون
ایجاد تصاویر کوچک برای اسلایدهای PPT در پایتونتنظیم کنتراست تصویر، روشنایی و گاما در جاواتنظیم کنتراست، روشنایی و گاما تصویر در سی شارپ
تبدیل تصاویر JPG به PNG در سی شارپتبدیل تصاویر JPG به PNG در جاواتبدیل تصاویر PNG به JPG در سی شارپ
تبدیل تصاویر PNG به JPG در جاواتبدیل کلمه به تصویر در پایتوناستخراج تصاویر از اسناد Word در سی شارپ
Extract Images from Word Documents in JavaExtract Images from Word Documents in Pythonتغییر اندازه تصاویر در سی شارپ
تغییر اندازه تصاویر در جاواچرخش و برگرداندن تصاویر در سی شارپچرخش و برگرداندن تصاویر در جاوا