تحويل PDF إلى صيغ صور مختلفة في C#
نظرة عامة
يشرح هذا المقال كيفية تحويل PDF إلى صيغ صور مختلفة باستخدام C#. يغطي المواضيع التالية.
صيغة الصورة: TIFF
صيغة الصورة: BMP
صيغة الصورة: EMF
تنسيق الصورة: JPG
تنسيق الصورة: PNG
تنسيق الصورة: GIF
تنسيق الصورة: SVG
C# تحويل PDF إلى صورة
الشيفرة البرمجية التالية تعمل أيضًا مع مكتبة Aspose.PDF.Drawing.
Aspose.PDF لـ .NET يستخدم عدة طرق لتحويل PDF إلى صورة. Aspose.PDF لـ .NET يستخدم عدة طرق لتحويل PDF إلى صورة.
هناك عدة فئات في المكتبة تتيح لك استخدام جهاز افتراضي لتحويل الصور. يتجه DocumentDevice لتحويل الوثيقة بأكملها، لكن ImageDevice - لصفحة معينة.
تحويل PDF باستخدام فئة DocumentDevice
Aspose.PDF لـ .NET يجعل من الممكن تحويل صفحات PDF إلى صور TIFF.
تتيح لك فئة TiffDevice (المبنية على DocumentDevice) تحويل صفحات PDF إلى صور TIFF. توفر هذه الفئة طريقة تُسمى Process
تتيح لك تحويل جميع الصفحات في ملف PDF إلى صورة TIFF واحدة.
جرب تحويل PDF إلى TIFF عبر الإنترنت
يقدم Aspose.PDF لـ .NET لك تطبيق مجاني على الإنترنت “PDF إلى TIFF”، حيث يمكنك تجربة استكشاف الوظائف والجودة التي يعمل بها.
تحويل صفحات PDF إلى صورة TIFF واحدة
يشرح Aspose.PDF لـ .NET كيفية تحويل جميع الصفحات في ملف PDF إلى صورة TIFF واحدة:
الخطوات: تحويل PDF إلى TIFF في C#
- إنشاء كائن من فئة Document.
- إنشاء كائنات TiffSettings و TiffDevice
- استدعاء طريقة TiffDevice.Process() لتحويل مستند PDF إلى TIFF.
- لتعيين خصائص ملف الخروج، استخدم فئة TiffSettings.
يوضح الجزء التالي من الكود كيفية تحويل جميع صفحات PDF إلى صورة TIFF واحدة.
public static void ConvertPDFtoTIFF()
{
// فتح المستند
Document pdfDocument = new Document(_dataDir + "PageToTIFF.pdf");
// إنشاء كائن Resolution
Resolution resolution = new Resolution(300);
// إنشاء كائن TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
Compression = CompressionType.None,
Depth = ColorDepth.Default,
Shape = ShapeType.Landscape,
SkipBlankPages = false
};
// إنشاء جهاز TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// تحويل صفحة معينة وحفظ الصورة إلى تيار
tiffDevice.Process(pdfDocument, _dataDir + "AllPagesToTIFF_out.tif");
}
تحويل صفحة واحدة إلى صورة TIFF
يتيح Aspose.PDF لـ .NET تحويل صفحة معينة في ملف PDF إلى صورة TIFF، استخدم النسخة المحملة من الطريقة Process(..) التي تأخذ رقم الصفحة كمعامل للتحويل. يوضح جزء الكود التالي كيفية تحويل الصفحة الأولى من PDF إلى تنسيق TIFF.
الخطوات: تحويل صفحة واحدة أو صفحات معينة من PDF إلى TIFF في C#
- إنشاء كائن من فئة Document.
- إنشاء كائنات TiffSettings و TiffDevice.
- استدعاء الطريقة المحملة TiffDevice.Process() مع معاملات fromPage و toPage لتحويل صفحات مستند PDF إلى TIFF.
public static void ConvertPDFtoTiffSinglePage()
{
// فتح المستند
Document pdfDocument = new Document(_dataDir + "PageToTIFF.pdf");
// إنشاء كائن Resolution
Resolution resolution = new Resolution(300);
// إنشاء كائن TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
Compression = CompressionType.None,
Depth = ColorDepth.Default,
Shape = ShapeType.Landscape,
};
// إنشاء جهاز TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// تحويل صفحة معينة وحفظ الصورة إلى تيار
tiffDevice.Process(pdfDocument, 1, 1, _dataDir + "PageToTIFF_out.tif");
}
استخدام خوارزمية برادلي أثناء التحويل
لقد كان Aspose.PDF لـ .NET يدعم إمكانية تحويل PDF إلى TIF باستخدام ضغط LZW، ومن ثم باستخدام AForge، يمكن تطبيق التبييض. ومع ذلك، طلب أحد العملاء أنه بالنسبة لبعض الصور، يحتاجون إلى الحصول على العتبة باستخدام Otsu، لذا فهم يرغبون أيضًا في استخدام برادلي.
public static void ConvertPDFtoTiffBradleyBinarization()
{
// فتح المستند
Document pdfDocument = new Document(_dataDir + "PageToTIFF.pdf");
string outputImageFile = _dataDir + "resultant_out.tif";
string outputBinImageFile = _dataDir + "37116-bin_out.tif";
// إنشاء كائن Resolution
Resolution resolution = new Resolution(300);
// إنشاء كائن TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
Compression = CompressionType.LZW,
Depth = Aspose.Pdf.Devices.ColorDepth.Format1bpp
};
// إنشاء جهاز TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);
// تحويل صفحة معينة وحفظ الصورة إلى الدفق
tiffDevice.Process(pdfDocument, outputImageFile);
using (FileStream inStream = new FileStream(outputImageFile, FileMode.Open))
{
using (FileStream outStream = new FileStream(outputBinImageFile, FileMode.Create))
{
tiffDevice.BinarizeBradley(inStream, outStream, 0.1);
}
}
}
تحويل ملف PDF باستخدام فئة ImageDevice
ImageDevice
هو الأصل لـ BmpDevice
, JpegDevice
, GifDevice
, PngDevice
و EmfDevice
.
- تسمح لك فئة BmpDevice بتحويل صفحات PDF إلى صور BMP.
- تسمح لك فئة EmfDevice بتحويل صفحات PDF إلى صور EMF.
- تسمح لك فئة JpegDevice بتحويل صفحات PDF إلى صور JPEG.
- تسمح لك فئة PngDevice بتحويل صفحات PDF إلى صور PNG.
- تسمح لك فئة GifDevice بتحويل صفحات PDF إلى صور GIF.
دعونا نلقي نظرة على كيفية تحويل صفحة PDF إلى صورة. لنلقِ نظرة على كيفية تحويل صفحة PDF إلى صورة.
فئة BmpDevice
توفر طريقة تُسمى Process التي تسمح لك بتحويل صفحة معينة من ملف PDF إلى صيغة صورة BMP. تمتلك الفئات الأخرى نفس الطريقة. لذا، إذا كنا بحاجة إلى تحويل صفحة PDF إلى صورة، نقوم فقط بإنشاء فئة مطلوبة.
الخطوات التالية وقطعة الكود في C# تظهر هذه الإمكانية
- تحويل PDF إلى BMP في C#
- تحويل PDF إلى EMF في C#
- تحويل PDF إلى JPG في C#
- تحويل PDF إلى PNG في C#
- تحويل PDF إلى GIF في C#
الخطوات: PDF إلى صورة (BMP, EMF, JPG, PNG, GIF) في C#
- قم بإنشاء نسخة من الفئة الفرعية لـ ImageDevice مثل:
- BmpDevice (لتحويل PDF إلى BMP)
- EmfDevice (لتحويل PDF إلى Emf)
- JpegDevice (لتحويل PDF إلى JPG)
- PngDevice (لتحويل PDF إلى PNG)
- GifDevice (لتحويل PDF إلى GIF)
- استدعي طريقة ImageDevice.Process() لأداء تحويل PDF إلى صورة.
public static class ExampleConvertPdfToImage
{
private static readonly string _dataDir = @"C:\Samples\";
// BMP, JPEG, GIF, PNG, EMF
public static void ConvertPDFusingImageDevice()
{
// إنشاء كائن Resolution
Resolution resolution = new Resolution(300);
BmpDevice bmpDevice = new BmpDevice(resolution);
JpegDevice jpegDevice = new JpegDevice(resolution);
GifDevice gifDevice = new GifDevice(resolution);
PngDevice pngDevice = new PngDevice(resolution);
EmfDevice emfDevice = new EmfDevice(resolution);
Document document = new Document(_dataDir +
"ConvertAllPagesToBmp.pdf");
ConvertPDFtoImage(bmpDevice, "bmp", document);
ConvertPDFtoImage(jpegDevice,"jpeg", document);
ConvertPDFtoImage(gifDevice, "gif", document);
ConvertPDFtoImage(pngDevice, "png", document);
ConvertPDFtoImage(emfDevice, "emf", document);
}
}
public static void ConvertPDFtoImage(ImageDevice imageDevice,
string ext, Document pdfDocument)
{
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
using (FileStream imageStream =
new FileStream($"{_dataDir}image{pageCount}_out.{ext}",
FileMode.Create))
{
// تحويل صفحة معينة وحفظ الصورة في البث
imageDevice.Process(pdfDocument.Pages[pageCount], imageStream);
// إغلاق البث
imageStream.Close();
}
}
}
حاول تحويل PDF إلى PNG عبر الإنترنت
كمثال على كيفية عمل تطبيقاتنا المجانية، يرجى التحقق من الميزة التالية.
يقدم لك Aspose.PDF لـ .NET تطبيقًا مجانيًا عبر الإنترنت “PDF إلى PNG”، حيث يمكنك تجربة استكشاف الوظائف والجودة التي يعمل بها.
تحويل PDF باستخدام فئة SaveOptions
هذا الجزء من المقال يوضح لك كيفية تحويل PDF إلى SVG باستخدام C# وفئة SaveOptions.
حاول تحويل PDF إلى SVG عبر الإنترنت
يقدم لك Aspose.PDF لـ .NET تطبيقًا مجانيًا عبر الإنترنت “PDF إلى SVG”، حيث يمكنك تجربة استكشاف الوظائف والجودة التي يعمل بها.
رسومات الفيكتور المتجهة القابلة للتوسيع (SVG) هي مجموعة من المواصفات لتنسيق ملف قائم على XML للرسومات المتجهة ثنائية الأبعاد، سواء كانت ثابتة أو ديناميكية (تفاعلية أو متحركة). مواصفات SVG هي معيار مفتوح تم تطويره بواسطة مجموعة الشبكة العالمية (W3C) منذ عام 1999.
تُعرف صور SVG وسلوكياتها في ملفات نصية XML. هذا يعني أنه يمكن البحث عنها، وفهرستها، وكتابة سكريبتات لها، وإذا لزم الأمر، ضغطها. كملفات XML، يمكن إنشاء صور SVG وتحريرها بأي محرر نصوص، لكن غالبًا ما يكون من الأسهل إنشاؤها باستخدام برامج الرسم مثل Inkscape.
يدعم Aspose.PDF لـ .NET ميزة تحويل صورة SVG إلى تنسيق PDF ويقدم أيضًا القدرة على تحويل ملفات PDF إلى تنسيق SVG. Aspose.PDF لـ .NET يدعم ميزة تحويل صورة SVG إلى تنسيق PDF ويقدم أيضًا القدرة على تحويل ملفات PDF إلى تنسيق SVG.
يُظهر مقتطف الكود التالي الخطوات لتحويل ملف PDF إلى تنسيق SVG باستخدام .NET.
الخطوات: تحويل PDF إلى SVG في C#
- إنشاء كائن من الفئة Document.
- إنشاء كائن SvgSaveOptions مع الإعدادات المطلوبة.
- استدعاء الطريقة Document.Save() ومرر لها كائن SvgSaveOptions لتحويل وثيقة PDF إلى SVG.
public static void ConvertPDFtoSVG()
{
// تحميل وثيقة PDF
Document document = new Document(System.IO.Path.Combine(_dataDir, "input.pdf"));
// تجسيد كائن من SvgSaveOptions
SvgSaveOptions saveOptions = new SvgSaveOptions
{
// عدم ضغط صورة SVG إلى أرشيف Zip
CompressOutputToZipArchive = false,
TreatTargetFileNameAsDirectory = true
};
// حفظ الناتج في ملفات SVG
document.Save(System.IO.Path.Combine(_dataDir, "PDFToSVG_out.svg"), saveOptions);
}