تحويل مستند إلى PDF

تعد القدرة على تحويل المستندات بسهولة وموثوقية من تنسيق إلى آخر ميزة رئيسية في Aspose.Words. أحد أكثر التنسيقات شيوعا للتحويل هو PDF - تنسيق تخطيط ثابت، والذي يحافظ على المظهر الأصلي للمستند أثناء عرضه على منصات مختلفة. يستخدم مصطلح" التقديم " في Aspose.Words لوصف عملية تحويل مستند إلى تنسيق ملف مرقم صفحات أو يحتوي على مفهوم الصفحات.

تحويل مستند كلمة إلى PDF

التحويل من كلمة إلى PDF عملية معقدة إلى حد ما تتطلب عدة مراحل من الحساب. Aspose.Words يحاكي محرك التخطيط الطريقة التي يعمل بها محرك تخطيط الصفحة Microsoft Word، مما يجعل مستندات الإخراج PDF تبدو قريبة قدر الإمكان مما يمكنك رؤيته في Microsoft Word.

باستخدام Aspose.Words، يمكنك تحويل مستند برمجيا من DOC أو DOCX إلى PDF دون استخدام Microsoft أوفيس. تشرح هذه المقالة كيفية إجراء هذا التحويل.

تحويل DOCX أو DOC إلى PDF

يعد التحويل من تنسيق المستند DOC أو DOCX إلى تنسيق PDF في Aspose.Words أمرا سهلا للغاية ويمكن تحقيقه باستخدام سطرين فقط من التعليمات البرمجية التي:

  1. قم بتحميل المستند الخاص بك في كائن Document باستخدام أحد منشئيه عن طريق تحديد اسم المستند بامتداد التنسيق الخاص به.
  2. استدعاء إحدى طرق Document.Save على الكائن Document وحدد تنسيق الإخراج المطلوب كـ PDF عن طريق إدخال اسم ملف مع “.PDF " تمديد.

يوضح مثال الكود التالي كيفية تحويل مستند من DOCX إلى PDF باستخدام طريقة Save:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
auto doc = MakeObject<Document>(MyDir + u"Document.docx");
doc->Save(ArtifactsDir + u"BaseConversions.DocxToPdf.pdf");
view raw docx-to-pdf.h hosted with ❤ by GitHub

يمكنك تنزيل ملف القالب لهذا المثال من Aspose.Words GitHub.

تحويل إلى معايير PDF مختلفة

Aspose.Words يوفر PdfCompliace التعداد لدعم تحويل DOC أو DOCX إلى معايير تنسيق PDF مختلفة (مثل PDF 1.7, PDF 1.5, الخ.).

يوضح مثال الكود التالي كيفية تحويل مستند إلى PDF 1.7 باستخدام PdfSaveOptions مع الامتثال إلى PDF17:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
auto doc = MakeObject<Document>(MyDir + u"Rendering.docx");
auto saveOptions = MakeObject<PdfSaveOptions>();
saveOptions->set_Compliance(PdfCompliance::Pdf17);
doc->Save(ArtifactsDir + u"WorkingWithPdfSaveOptions.ConversionToPdf17.pdf", saveOptions);

تحويل الصور إلى PDF

التحويل إلى PDF غير مقيد بتنسيقات المستندات Microsoft Word. يمكن أيضا تحويل أي تنسيق يدعمه Aspose.Words، بما في ذلك الذي تم إنشاؤه برمجيا، إلى PDF. على سبيل المثال، يمكننا تحويل الصور ذات الصفحة الواحدة، مثل JPEG, PNG, BMP, EMF, أو WMF، بالإضافة إلى صور متعددة الصفحات، مثل TIFF و GIF، إلى PDF.

يوضح مثال الكود التالي كيفية تحويل JPEG و TIFF الصور إلى PDF:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
ConvertImageToPdf(ImagesDir + u"Logo.jpg", ArtifactsDir + u"BaseConversions.JpgToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Transparent background logo.png", ArtifactsDir + u"BaseConversions.PngToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Windows MetaFile.wmf", ArtifactsDir + u"BaseConversions.WmfToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Tagged Image File Format.tiff", ArtifactsDir + u"BaseConversions.TiffToPdf.pdf");
ConvertImageToPdf(ImagesDir + u"Graphics Interchange Format.gif", ArtifactsDir + u"BaseConversions.GifToPdf.pdf");
view raw image-to-pdf.h hosted with ❤ by GitHub
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C.git.
/// <summary>
/// Converts an image to PDF using Aspose.Words for .NET.
/// </summary>
/// <param name="inputFileName">File name of input image file.</param>
/// <param name="outputFileName">Output PDF file name.</param>
void ConvertImageToPdf(String inputFileName, String outputFileName)
{
std::cout << (String(u"Converting ") + inputFileName + u" to PDF ....") << std::endl;
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
// Read the image from file, ensure it is disposed.
{
SharedPtr<System::Drawing::Image> image = System::Drawing::Image::FromFile(inputFileName);
// Insert a section break before each new page, in case of a multi-frame TIFF.
builder->InsertBreak(BreakType::SectionBreakNewPage);
// We want the size of the page to be the same as the size of the image.
// Convert pixels to points to size the page to the actual image size.
SharedPtr<PageSetup> ps = builder->get_PageSetup();
ps->set_PageWidth(ConvertUtil::PixelToPoint(image->get_Width(), image->get_HorizontalResolution()));
ps->set_PageHeight(ConvertUtil::PixelToPoint(image->get_Height(), image->get_VerticalResolution()));
// Insert the image into the document and position it at the top left corner of the page.
builder->InsertImage(image, RelativeHorizontalPosition::Page, 0, RelativeVerticalPosition::Page, 0, ps->get_PageWidth(), ps->get_PageHeight(), WrapType::None);
}
doc->Save(outputFileName);
}

لجعل هذا الرمز يعمل، تحتاج إلى إضافة مراجع إلى Aspose.Words و System.Drawing إلى مشروعك.

أنظر أيضا