تحويل تنسيقات الصور المختلفة إلى PDF
Aspose.PDF for Java يتيح لك تحويل تنسيقات مختلفة من الصور إلى ملفات PDF. تعرض مكتبتنا مقتطفات من الشيفرة لتحويل أكثر تنسيقات الصور شيوعًا، مثل - BMP وCGM وDICOM وEMF وJPG وPNG وSVG وTIFF.
تحويل BMP إلى PDF
تحويل ملفات BMP إلى مستند PDF باستخدام مكتبة Aspose.PDF for Java.
صور BMP هي ملفات بامتداد .BMP تمثل ملفات الصور النقطية التي تُستخدم لتخزين الصور الرقمية النقطية. هذه الصور مستقلة عن محول الرسوميات وتُعرف أيضًا بتنسيق ملف نقطية مستقل عن الجهاز (DIB). يمكنك تحويل BMP إلى PDF باستخدام Aspose.PDF for Java API. لذلك، يمكنك اتباع الخطوات التالية لتحويل الصور BMP:
- تهيئة مستند جديد
- تحميل ملف صورة BMP نموذجي
- وأخيراً، حفظ ملف PDF الناتج
لذلك، يتبع جزء الشيفرة التالي هذه الخطوات ويعرض كيفية تحويل BMP إلى PDF باستخدام Java:
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertBMPtoPDF {
private ConvertBMPtoPDF() {
}
private static Path _dataDir = Paths.get("<set path to samples>");
public static void main(String[] args) throws FileNotFoundException {
// تهيئة كائن الوثيقة
Document document = new Document();
Page page = document.getPages().add();
Image image = new Image();
// تحميل ملف صورة BMP نموذجي
image.setFile(Paths.get(_dataDir.toString(), "Sample.bmp").toString());
page.getParagraphs().add(image);
// حفظ مستند PDF الناتج
document.save(Paths.get(_dataDir.toString(),"BMPtoPDF.pdf").toString());
}
}
حاول تحويل BMP إلى PDF عبر الإنترنت
تقدم لك Aspose تطبيقًا مجانيًا عبر الإنترنت “BMP إلى PDF”، حيث يمكنك محاولة استكشاف الوظائف والجودة التي يعمل بها.
تحويل CGM إلى PDF
CGM هو معيار ISO يوفر تنسيق ملف صورة ثنائي الأبعاد قائم على المتجهات لتخزين واسترجاع معلومات الرسوميات. CGM هو تنسيق مستقل عن الجهاز. CGM هو تنسيق رسوميات متجهة يدعم ثلاث طرق ترميز مختلفة: ثنائية (الأفضل لسرعة قراءة البرنامج)، قائمة على الأحرف (تنتج أصغر حجم ملف وتسمح بنقل البيانات بشكل أسرع) أو ترميز النص الواضح (يسمح للمستخدمين بقراءة وتعديل الملف باستخدام محرر نصوص).
يُظهر لك مقتطف الشيفرة التالي كيفية تحويل ملفات CGM إلى تنسيق PDF باستخدام Aspose.PDF for Java.
- إنشاء فئة CgmLoadOptions.
- إنشاء مثيل من فئة Document مع ذكر اسم الملف المصدر والخيارات.
- حفظ المستند بالاسم المطلوب.
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertCGMtoPDF {
private ConvertCGMtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// إنشاء CGM LoadOptions
CgmLoadOptions options = new CgmLoadOptions();
// تهيئة كائن المستند
String cgmFileName = Paths.get(_dataDir.toString(), "corvette.cgm").toString();
Document document = new Document(cgmFileName, options);
// حفظ مستند PDF الناتج
document.save(Paths.get(_dataDir.toString(),"CGMtoPDF.pdf").toString());
}
}
تحويل DICOM إلى PDF
DICOM هو معيار للتعامل مع المعلومات في التصوير الطبي وتخزينها وطباعتها ونقلها. يتضمن تعريف صيغة الملف وبروتوكول الاتصالات الشبكية.
Aspose.PDF لـ Java يتيح لك تحويل ملفات DICOM إلى صيغة PDF، تحقق من مقطع الكود التالي:
- تحميل الصورة في التدفق
- تهيئة كائن المستند
- تحميل ملف صورة DICOM النموذجي
- حفظ مستند PDF الناتج
package com.aspose.pdf.examples;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertDICOMtoPDF {
private ConvertDICOMtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// تحميل الصورة في التدفق
FileInputStream imageStream = new FileInputStream(
new java.io.File(Paths.get(_dataDir.toString(),"0002.dcm").toString()));
// تهيئة كائن المستند
Document document = new Document();
document.getPages().add();
// تحميل ملف صورة DICOM النموذجي
Image image = new Image();
image.setFileType(ImageFileType.Dicom);
image.setImageStream(imageStream);
document.getPages().get_Item(1).getParagraphs().add(image);
// حفظ مستند PDF الناتج
document.save(Paths.get(_dataDir.toString(),"CGMtoPDF.pdf").toString());
}
}
حاول تحويل DICOM إلى PDF عبر الإنترنت
تقدم Aspose لك تطبيقًا مجانيًا عبر الإنترنت “DICOM إلى PDF” ، حيث يمكنك محاولة استكشاف الوظيفة والجودة التي يعمل بها.
تحويل EMF إلى PDF
تنسيق الملف الوصفي المحسن (EMF) يخزن الصور الرسومية بشكل مستقل عن الجهاز. يتكون الملفات الوصفية لـ EMF من سجلات بطول متغير بترتيب زمني يمكنها عرض الصورة المخزنة بعد تحليلها على أي جهاز إخراج.
لدينا عدة طرق لتحويل EMF إلى PDF.
باستخدام فئة Image
يتكون مستند PDF من صفحات وتحتوي كل صفحة على كائنات فقرة واحدة أو أكثر. يمكن أن تكون الفقرة نصًا أو صورة أو جدولًا أو صندوقًا عائمًا أو رسمًا بيانيًا أو عنوانًا أو حقل نموذج أو مرفقًا.
لتحويل ملف صورة إلى تنسيق PDF، قم بتضمينه في فقرة.
من الممكن تحويل الصور في موقع مادي على القرص الصلب المحلي، أو الموجودة في عنوان URL على الويب أو في كائن Stream.
لإضافة صورة:
- قم بإنشاء كائن من فئة com.aspose.pdf.Image.
- أضف الصورة إلى مجموعة Paragraphs في مثيل الصفحة.
- حدد المسار أو مصدر الصورة.
- إذا كانت الصورة في موقع على القرص الصلب، حدد موقع المسار باستخدام الطريقة Image.setFile(…).
- إذا كانت الصورة موجودة في FileInputStream، مرر الكائن الذي يحتوي على الصورة إلى الطريقة Image.setImageStream(…).
يوضح مقطع الشيفرة التالي كيفية تحميل كائن الصورة، وضبط هامش الصفحة، ووضع الصورة على الصفحة وحفظ الناتج كملف PDF.
package com.aspose.pdf.examples;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
/**
* تحويل EMF إلى PDF
*/
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import javax.imageio.ImageIO;
import com.aspose.pdf.*;
public final class ConvertEMFtoPDF {
private ConvertEMFtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws IOException {
convertEMFtoPDF_01();
convertEMFtoPDF_02();
}
public static void convertEMFtoPDF_01() throws FileNotFoundException {
// إنشاء كائن مستند
Document doc = new Document();
// أضف صفحة إلى مجموعة الصفحات في المستند
Page page = doc.getPages().add();
// تحميل ملف الصورة المصدر إلى كائن Stream
java.io.FileInputStream fs = new java.io.FileInputStream(
Paths.get(_dataDir.toString(),"source.emf").toString());
// ضبط الحدود لتتناسب الصورة، إلخ.
page.getPageInfo().getMargin().setBottom(0);
page.getPageInfo().getMargin().setTop(0);
page.getPageInfo().getMargin().setLeft(0);
page.getPageInfo().getMargin().setRight(0);
page.setCropBox(new Rectangle(0, 0, 400, 400));
// إنشاء كائن صورة
Image image1 = new Image();
// أضف الصورة إلى مجموعة الفقرات في القسم
page.getParagraphs().add(image1);
// تعيين تدفق ملف الصورة
image1.setImageStream(fs);
// حفظ ملف PDF الناتج
doc.save("EMFtoPDF_01.pdf");
}
public static void convertEMFtoPDF_02() throws IOException {
// راجع الشيفرة أدناه
}
}
إضافة صورة من BufferedImage
يقدم Aspose.PDF for Java أيضًا ميزة تحميل الصورة من مثيل Stream حيث يمكن تحميل الصورة إلى كائن BufferedImage ويمكن وضعها داخل مجموعة الفقرات في ملف Pdf.
public static void convertEMFtoPDF_02() throws IOException {
Document doc = new Document();
// إضافة صفحة إلى مجموعة الصفحات في ملف Pdf
Page page = doc.getPages().add();
// إنشاء مثيل للصورة
Image image1 = new Image();
// إنشاء مثيل BufferedImage
java.awt.image.BufferedImage bufferedImage = ImageIO.read(new File("source.emf"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// كتابة الصورة المخبأة إلى مثيل OutputStream
ImageIO.write(bufferedImage, "emf", baos);
baos.flush();
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
// إضافة الصورة إلى مجموعة الفقرات في الصفحة الأولى
page.getParagraphs().add(image1);
// تعيين تدفق الصورة كـ OutputStream يحتفظ بالصورة المخبأة
image1.setImageStream(bais);
// حفظ ملف PDF الناتج
doc.save("BufferedImage.pdf");
}
إضافة صورة باستخدام مشغلي PDF
يحتوي كل كائن صفحة PDF على الطريقتين getResources() وgetContents(). يمكن أن تكون الموارد صورًا ونماذج، على سبيل المثال، بينما يتم تمثيل المحتوى بمجموعة من مشغلي PDF. لكل مشغل اسم وحجج خاصة به.
يستخدم هذا المثال المشغلين لإضافة صورة إلى ملف PDF.
لإضافة صورة إلى ملف PDF موجود:
-
أنشئ كائن Document وافتح مستند PDF المدخل.
-
احصل على الصفحة التي تريد إضافة صورة إليها.
-
أضف الصورة إلى مجموعة getResources() الخاصة بالصفحة.
-
استخدم المشغلين لوضع الصورة على الصفحة:
- استخدم المشغل GSave لحفظ الحالة الرسومية الحالية.
- استخدم المشغل ConcatenateMatrix لتحديد مكان وضع الصورة.
-
استخدم المشغل Do لرسم الصورة على الصفحة.
-
أخيرًا، استخدم المشغل GRestore لحفظ الحالة الرسومية المحدثة.
-
احفظ الملف.
يعرض مقتطف الكود التالي كيفية إضافة صورة إلى مستند PDF.
// للحصول على أمثلة كاملة وملفات البيانات، يرجى زيارة https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// افتح مستند
Document pdfDocument1 = new Document("input.pdf");
// تعيين الإحداثيات
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// الحصول على الصفحة التي تريد إضافة الصورة إليها
Page page = pdfDocument1.getPages().get_Item(1);
// تحميل الصورة في تدفق
java.io.FileInputStream imageStream = new java.io.FileInputStream(new java.io.File("input_image1.jpg"));
// إضافة صورة إلى مجموعة الصور في موارد الصفحة
page.getResources().getImages().add(imageStream);
// استخدام المشغل GSave: هذا المشغل يحفظ الحالة الرسومية الحالية
page.getContents().add(new Operator.GSave());
// إنشاء كائنات مستطيل ومصفوفة
Rectangle rectangle = new Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.getURX() - rectangle.getLLX(), 0, 0, rectangle.getURY() - rectangle.getLLY(), rectangle.getLLX(), rectangle.getLLY() });
// استخدام المشغل ConcatenateMatrix (دمج المصفوفة): يحدد كيفية وضع الصورة
page.getContents().add(new Operator.ConcatenateMatrix(matrix));
XImage ximage = page.getResources().getImages().get_Item(page.getResources().getImages().size());
// استخدام المشغل Do: هذا المشغل يرسم الصورة
page.getContents().add(new Operator.Do(ximage.getName()));
// استخدام المشغل GRestore: هذا المشغل يستعيد الحالة الرسومية
page.getContents().add(new Operator.GRestore());
// احفظ ملف PDF الجديد
pdfDocument1.save("Updated_document.pdf");
// أغلق تدفق الصورة
imageStream.close();
حاول تحويل EMF إلى PDF عبر الإنترنت
تقدم لك Aspose تطبيقًا مجانيًا عبر الإنترنت “EMF to PDF”، حيث يمكنك محاولة استكشاف الوظائف والجودة التي يعمل بها.
تحويل JPG إلى PDF
لا داعي للتساؤل عن كيفية تحويل JPG إلى PDF، لأن مكتبة Apose.PDF لـ Java لديها أفضل حل.
يمكنك بسهولة كبيرة تحويل صور JPG إلى PDF باستخدام Aspose.PDF لـ Java باتباع الخطوات التالية:
- تهيئة كائن من فئة Document
- تحميل صورة JPG وإضافتها إلى الفقرة
- حفظ ملف PDF الناتج
يوضح مقتطف الشيفرة أدناه كيفية تحويل صورة JPG إلى PDF باستخدام Java:
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertJPEGtoPDF {
private static Path _dataDir = Paths.get("/home/aspose/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// تهيئة كائن الوثيقة
Document document = new Document();
Page page = document.getPages().add();
Image image = new Image();
// تحميل ملف صورة JPEG النموذجية
image.setFile(Paths.get(_dataDir.toString(), "Sample.jpg").toString());
page.getParagraphs().add(image);
// حفظ ملف PDF الناتج
document.save(Paths.get(_dataDir.toString(),"JPEGtoPDF.pdf").toString());
}
}
حاول تحويل JPG إلى PDF عبر الإنترنت
تقدم لك Aspose تطبيقًا مجانيًا عبر الإنترنت “JPG إلى PDF”، حيث يمكنك محاولة استكشاف الوظائف والجودة التي يعمل بها.
تحويل PNG إلى PDF
يدعم Aspose.PDF for Java ميزة تحويل صور PNG إلى تنسيق PDF. تحقق من مقتطف الكود التالي لتحقيق مهمتك.
يشير PNG إلى نوع من تنسيقات ملفات الصور النقطية التي تستخدم الضغط غير الفاقد، مما يجعله شائعًا بين مستخدميه.
يمكنك تحويل PNG إلى صورة PDF باستخدام الخطوات التالية:
- تحميل صورة PNG المدخلة
- قراءة قيم الطول والعرض
- إنشاء مستند جديد وإضافة صفحة
- تعيين أبعاد الصفحة
- حفظ الملف الناتج
علاوة على ذلك، يوضح مقتطف الكود أدناه كيفية تحويل PNG إلى PDF في تطبيقات Java الخاصة بك:
package com.aspose.pdf.examples;
/**
* تحويل PNG إلى PDF
*/
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertPNGtoPDF {
private ConvertPNGtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// تهيئة كائن المستند
Document document = new Document();
Page page = document.getPages().add();
Image image = new Image();
// تحميل ملف صورة BMP النموذجي
image.setFile(Paths.get(_dataDir.toString(), "Sample.png").toString());
page.getPageInfo().getMargin().setBottom(0);
page.getPageInfo().getMargin().setTop(0);
page.getPageInfo().getMargin().setRight (0);
page.getPageInfo().getMargin().setLeft (0);
page.getParagraphs().add(image);
// حفظ مستند PDF الناتج
document.save(Paths.get(_dataDir.toString(), "PNGtoPDF.pdf").toString());
}
}
حاول تحويل PNG إلى PDF عبر الإنترنت
تقدم لك Aspose تطبيقًا مجانيًا عبر الإنترنت “PNG إلى PDF”، حيث يمكنك محاولة استكشاف الوظائف والجودة التي يعمل بها.
تحويل SVG إلى PDF
رسومات المتجهات القابلة للتطوير (SVG) هي مجموعة من المواصفات لصيغة ملفات XML للرسم المتجهي ثنائي الأبعاد، سواء كان ثابتًا أو ديناميكيًا (تفاعليًا أو متحركًا). تعتبر مواصفات SVG معيارًا مفتوحًا قيد التطوير من قبل اتحاد شبكة الويب العالمية (W3C) منذ عام 1999.
يتم تعريف صور SVG وسلوكياتها في ملفات نصية بتنسيق XML. هذا يعني أنه يمكن البحث عنها وفهرستها وبرمجتها، وإذا لزم الأمر، ضغطها. كملفات XML، يمكن إنشاء وتحرير صور SVG بأي محرر نصوص، ولكن من الأكثر ملاءمة غالبًا إنشاؤها باستخدام برامج الرسم مثل Inkscape
كيفية تحويل ملف SVG إلى تنسيق PDF
لتحويل ملفات SVG إلى PDF، استخدم الفئة المسماة SvgLoadOptions والتي تُستخدم لتهيئة كائن LoadOptions. لاحقًا، يتم تمرير هذا الكائن كمعامل أثناء تهيئة كائن Document ويساعد محرك عرض PDF في تحديد تنسيق إدخال المستند المصدر.
يوضح مقتطف الشيفرة التالي عملية تحويل ملف SVG إلى تنسيق PDF.
// تهيئة كائن المستند
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "svg_test.pdf").toString();
String svgDocumentFileName = Paths.get(_dataDir.toString(), "car.svg").toString();
SvgLoadOptions option = new SvgLoadOptions();
Document pdfDocument = new Document(svgDocumentFileName, option);
pdfDocument.save(pdfDocumentFileName);
حاول تحويل صيغة SVG إلى PDF عبر الإنترنت
يقدم لك Aspose.PDF for Java تطبيقًا مجانيًا عبر الإنترنت “SVG إلى PDF”، حيث يمكنك تجربة فحص الوظائف والجودة التي يعمل بها.
تحويل TIFF إلى PDF
يدعم Aspose.PDF for Java تنسيق الملفات، سواء كانت صورة TIFF ذات إطار واحد أو متعددة الإطارات. يعني هذا أنه يمكنك تحويل صورة TIFF إلى PDF في تطبيقات Java الخاصة بك.
TIFF أو TIF، تنسيق ملف صورة مُعنون، يمثل الصور النقطية التي تُستخدم على مجموعة متنوعة من الأجهزة التي تتوافق مع هذا المعيار لتنسيق الملفات. TIFF يمكن أن تحتوي الصورة على عدة إطارات مع صور مختلفة. يتم دعم صيغة ملف Aspose.PDF أيضًا، سواء كانت صورة TIFF بإطار واحد أو بإطارات متعددة. لذا يمكنك تحويل صورة TIFF إلى PDF في تطبيقات Java الخاصة بك. لذلك، سننظر في مثال لتحويل صورة TIFF متعددة الصفحات إلى مستند PDF متعدد الصفحات بالخطوات التالية:
- إنشاء مثيل لفئة Document
- تحميل صورة TIFF المدخلة
- أخيرًا، حفظ الصورة كصفحة PDF
علاوة على ذلك، يوضح جزء الشيفرة التالي كيفية تحويل صورة TIFF متعددة الصفحات أو متعددة الإطارات إلى PDF:
import com.aspose.pdf.Document;
import com.aspose.pdf.Image;
import com.aspose.pdf.Page;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
* تحويل TIFF إلى PDF.
*/
public final class ConvertTIFFtoPDF {
private static final Path DATA_DIR = Paths.get("/home/aspose/pdf-examples/Samples");
private ConvertTIFFtoPDF() {
}
public static void run() throws IOException {
// تهيئة كائن الوثيقة
Document document = new Document();
Page page = document.getPages().add();
Image image = new Image();
image.setFile(Paths.get(DATA_DIR.toString(), "Sample.tiff").toString());
page.getParagraphs().add(image);
// حفظ وثيقة PDF الناتجة
document.save(Paths.get(DATA_DIR.toString(), "TIFFtoPDF.pdf").toString());
document.close();
}
}