تحويل PDF إلى تنسيقات الصور في Python

بايثون: تحويل PDF إلى صورة

Aspose.pdf لبايثون عبر .NET يدعم عدة طرق لتحويل محتوى PDF إلى صور. من الناحية العملية، تستخدم معظم عمليات سير العمل أحد الخيارين التاليين:

  • أسلوب الجهاز لعرض صفحات PDF إلى تنسيقات الصور النقطية
  • أسلوب SaveOptions لتصدير محتوى PDF إلى SVG

توضح هذه المقالة كيفية تحويل ملفات PDF إلى TIFF و BMP و EMF و JPEG و PNG و GIF و SVG.

تتضمن المكتبة فئات عرض متعددة. DocumentDevice تم تصميمه لتحويل المستند بالكامل، بينما ImageDevice يستهدف الصفحات الفردية.

تحويل PDF باستخدام فئة Document/Device

استخدم DocumentDevice عندما تريد عرض ملف PDF بأكمله في ملف TIFF واحد متعدد الصفحات.

ال جهاز TIFF يعتمد الفصل على DocumentDevice ويوفر معالجة طريقة لتحويل جميع الصفحات في ملف PDF إلى إخراج TIFF واحد.

تحويل صفحات PDF إلى صورة TIFF واحدة

يمكن لـ Aspose.PDF لـ Python عبر .NET عرض كل صفحة في ملف PDF في صورة TIFF واحدة.

الخطوات: تحويل PDF إلى TIFF في بايثون

  1. قم بتحميل ملف PDF المصدر باستخدام مستند فئة.
  2. ابتكر إعدادات TIFF و جهاز TIFF الكائنات.
  3. قم بتكوين خيارات TIFF مثل الضغط وعمق الألوان ومعالجة الصفحات الفارغة.
  4. اتصل بـ معالجة طريقة لكتابة ملف TIFF.

يوضح مقتطف الشفرة التالي كيفية تحويل جميع صفحات PDF إلى صورة TIFF واحدة.

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_TIFF(infile, outfile):
    document = ap.Document(infile)

    resolution = ap.devices.Resolution(300)
    tiffSettings = ap.devices.TiffSettings()
    tiffSettings.compression = ap.devices.CompressionType.LZW
    tiffSettings.depth = ap.devices.ColorDepth.DEFAULT
    tiffSettings.skip_blank_pages = False

    tiffDevice = ap.devices.TiffDevice(resolution, tiffSettings)
    tiffDevice.process(document, f"{outfile}.tiff")

    print(infile + " converted into " + outfile)

تحويل ملفات PDF باستخدام فئة جهاز الصورة/الجهاز

استخدم ImageDevice عندما تحتاج إلى إخراج صفحة بصفحة بتنسيق صورة نقطية.

ImageDevice هي الفئة الأساسية لـ BmpDevice, JpegDevice, GifDevice, PngDevice، و EmfDevice.

  • ال جهاز BMP تسمح لك الفئة بتحويل صفحات PDF إلى صور BMP.
  • ال جهاز EMF تسمح لك الفئة بتحويل صفحات PDF إلى صور EMF.
  • ال جهاز JPEG تسمح لك الفئة بتحويل صفحات PDF إلى صور JPEG.
  • ال جهاز PNG يسمح لك الفصل بتحويل صفحات PDF إلى صور PNG.
  • ال جهاز GIF يسمح لك الفصل بتحويل صفحات PDF إلى صور GIF.

سير العمل هو نفسه لكل تنسيق: قم بتحميل المستند، قم بإنشاء الجهاز المناسب، ثم قم بمعالجة الصفحة المطلوبة.

جهاز BMP يفضح معالجة طريقة لعرض صفحة معينة كـ BMP. تتبع فئات أجهزة الصور الأخرى نفس النمط، بحيث يمكنك تبديل التنسيقات عن طريق تغيير فئة الجهاز.

توضح الروابط ونماذج التعليمات البرمجية التالية كيفية تقديم صفحات PDF إلى تنسيقات الصور الشائعة:

الخطوات: تحويل ملف PDF إلى صورة (BMP، EMF، JPG، PNG، GIF) بلغة بايثون

  1. قم بتحميل ملف PDF باستخدام مستند فئة.
  2. قم بإنشاء مثيل من المطلوب جهاز الصورة فئة فرعية:
  3. قم بتكرار الصفحات التي تريد تصديرها.
  4. اتصل بـ جهاز الصورة. العملية () طريقة لحفظ كل صفحة كصورة.

تحويل ملفات PDF إلى BMP

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_BMP(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.BmpDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.bmp", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

تحويل ملفات PDF إلى EMF

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_EMF(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.EmfDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.emf", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

تحويل ملفات PDF إلى JPEG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_JPEG(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.JpegDevice(resolution)
    page_count = 1

    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.jpeg", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

تحويل ملفات PDF إلى PNG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_PNG(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)

    device = ap.devices.PngDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

تحويل PDF إلى PNG باستخدام الخط الافتراضي

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_PNG_with_default_font(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)

    rendering_options = ap.RenderingOptions()
    rendering_options.default_font_name = "Arial"

    device = ap.devices.PngDevice(resolution)
    device.rendering_options = rendering_options

    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.png", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

تحويل ملفات PDF إلى GIF

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_GIF(infile, outfile):
    document = ap.Document(infile)
    resolution = ap.devices.Resolution(300)
    device = ap.devices.GifDevice(resolution)
    page_count = 1
    while page_count <= len(document.pages):
        image_stream = FileIO(outfile + str(page_count) + "_out.gif", "w")
        device.process(document.pages[page_count], image_stream)
        image_stream.close()
        page_count = page_count + 1

    print(infile + " converted into " + outfile)

تحويل ملفات PDF باستخدام فئة SaveOptions

استخدم SaveOptions عندما تريد تصدير محتوى PDF إلى SVG.

**الرسومات المتجهة القابلة للتطوير (SVG) ** هي صيغة تستند إلى XML للرسومات المتجهة ثنائية الأبعاد. نظرًا لأن SVG يظل قائمًا على المتجهات، فإنه يكون مفيدًا عندما تحتاج إلى مخرجات قابلة للتطوير للويب أو واجهة المستخدم أو عمليات سير عمل التصميم.

ملفات SVG قائمة على النصوص وقابلة للبحث وسهلة المعالجة في أدوات أخرى.

يمكن لـ Aspose.PDF لبيثون عبر .NET تحويل SVG إلى PDF وتصدير صفحات PDF إلى SVG. للتحويل من PDF إلى SVG، قم بإنشاء ملف خيارات حفظ SVG اعترض وقم بتمريره إلى حفظ المستند () طريقة.

توضح الخطوات التالية كيفية تحويل ملف PDF إلى SVG باستخدام Python.

الخطوات: تحويل PDF إلى SVG في بايثون

  1. قم بتحميل ملف PDF المصدر باستخدام مستند فئة.
  2. قم بإنشاء خيارات حفظ SVG الكائن وتكوين الخيارات المطلوبة.
  3. اتصل بـ حفظ المستند () الطريقة مع SvgSaveOptions مثيل لكتابة إخراج SVG.

تحويل ملفات PDF إلى SVG

import aspose.pdf as ap
from io import FileIO
from os import path
import sys

def convert_PDF_to_SVG(infile, outfile):
    document = ap.Document(infile)

    save_options = ap.SvgSaveOptions()
    save_options.compress_output_to_zip_archive = False
    save_options.treat_target_file_name_as_directory = True

    document.save(f"{outfile}.svg", save_options)

التحويلات ذات الصلة