تبدیل یک سند به PDF

قابلیت تبدیل آسان و قابل اعتماد اسناد از یک فرمت به فرمت دیگر از ویژگی های کلیدی Aspose.Words است. یکی از محبوب ترین فرمت ها برای تبدیل PDF است – یک فرمت طرح بندی ثابت، که ظاهر اصلی یک سند را در طول ارائه آن در سیستم عامل های مختلف حفظ می کند. اصطلاح “رندر” در Aspose.Words برای توصیف فرآیند تبدیل یک سند به یک فرمت فایل که صفحه بندی شده یا مفهوم صفحات را دارد، استفاده می شود.

تبدیل یک سند ورد به PDF

تبدیل از Word به PDF یک فرآیند نسبتا پیچیده است که نیاز به چندین مرحله محاسبه دارد. موتور طرح بندی Aspose.Words از نحوه کار موتور طرح بندی صفحه Microsoft Word تقلید می کند و اسناد خروجی PDF را تا حد ممکن به آنچه در Microsoft Word می بینید نزدیک می کند.

با Aspose.Words می توانید بدون استفاده از Microsoft Office یک سند را از DOC یا DOCX format به PDF تبدیل کنید. این مقاله نحوه انجام این تبدیل را توضیح می دهد.

تبدیل 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 اضافه کنید.

بایگانی برچسب برای: