تحويل مستند إلى 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 أمرا سهلا للغاية ويمكن تحقيقه باستخدام سطرين فقط من التعليمات البرمجية التي:
- قم بتحميل المستند الخاص بك في كائن Document باستخدام أحد منشئيه عن طريق تحديد اسم المستند بامتداد التنسيق الخاص به.
- استدعاء إحدى طرق 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"); |
يمكنك تنزيل ملف القالب لهذا المثال من Aspose.Words GitHub.
في بعض الأحيان يكون من الضروري تحديد خيارات إضافية، والتي يمكن أن تؤثر على نتيجة حفظ مستند ك PDF. يمكن تحديد هذه الخيارات باستخدام فئة PdfSaveOptions، التي تحتوي على خصائص تحدد كيفية عرض إخراج PDF.
لاحظ أنه باستخدام نفس التقنية، يمكنك تحويل أي مستند تنسيق تخطيط تدفق إلى تنسيق PDF.
تحويل إلى معايير 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"); |
// 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
إلى مشروعك.
أنظر أيضا
- المادة تقديم لمزيد من المعلومات حول تنسيقات الصفحة الثابتة وتخطيط التدفق
- المادة التحويل إلى تنسيق الصفحة الثابتة لمزيد من المعلومات حول تخطيط الصفحة
- المادة حدد خيارات العرض عند التحويل إلى PDF لمزيد من المعلومات حول استخدام فئة
PdfSaveOptions