המרת Word DOCX ל-PDF

ברוך הבא שוב אל הבית של ממשקי API של פורמט קבצים! בעבר האחרון, כתבתי כמה פוסטים בבלוג כדי לכסות תרחישים שונים של המרת Word (DOC/DOCX) ל-PDF באופן פרוגרמטי ביישומי .NET(באמצעות C#) ו-Java. מכיוון שזו תכונה פופולרית ונפוצה, חשבתי לכסות אותה גם עבור C++. לכן, בפוסט זה, אני אראה לכם כיצד להמיר Word DOC/DOCX ל-PDF ביישומי C++. מאמר זה מתייחס להמרות Word ל-PDF הבאות:

  • Word פשוט DOC/DOCX ל-PDF ב-C++.
  • DOCX ל-PDF עם תקן מסוים, כלומר PDF 1.5, PDF/A-1a וכו'.
  • המרת דפים נבחרים של DOCX ל-PDF.
  • החל דחיסת תמונה/טקסט בהמרת DOCX ל-PDF.

ספריית ממיר C++ Word ל-PDF

Aspose.Words for C++ היא ספרייה מתקדמת ליצור ולתפעל פורמטים של מסמכי Word בתוך יישומי C++ ללא צורך ב-MS Word. אתה יכול להתקין אותו באמצעות NuGet או הורד החבילה השלמה המכילה את קבצי הספרייה כמו גם מוכנה להרצת דוגמאות קוד מקור.

המר את Word DOC/DOCX ל-PDF ב-C++

המרת מסמך Word ל-PDF היא פשוטה כמו עוגה באמצעות Aspose.Words עבור C++. להלן השלבים להמרת קובץ DOC/DOCX ל-PDF.

  • צור אובייקט במחלקה Document ואתחול אותו עם הנתיב של מסמך Word.
  • התקשר לשיטת Document->Save() כדי לשמור את המסמך כ-PDF.

דוגמת הקוד הבאה מראה כיצד להמיר DOCX ל-PDF ב-C++.

// טען את המסמך מהדיסק.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// הגדר את נתיב הפלט של PDF
System::String outputPath =  u"DOCX-to-PDF.pdf";
// המרת DOCX ל-PDF
doc->Save(outputPath);
std::cout << "Converted DOCX to PDF successfuly.";

קלט מסמך וורד

DOCX ל-PDF C++

מסמך PDF שהומר

DOC ל-PDF ב-C++

המר DOCX ל-PDF/A או תקני PDF אחרים ב-C++

פורמט ה-PDF תומך בתקני PDF שונים, כולל PDF/A, PDF/E וכו’. יתכן ומקרה כאשר אתה צריך להמיר קובץ Word לתקן מסוים כגון PDF/A-1a. במקרה כזה, Aspose.Words for C++ מאפשר לך להגדיר את תקן ה-PDF הרצוי עבור ה-PDF שהומר. להלן השלבים להגדרת תקן PDF בהמרה של Word ל-PDF:

דוגמת הקוד הבאה מראה כיצד להמיר Word DOCX ל-PDF עם תקן PDF/A-1a.

// טען את המסמך מהדיסק.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// הגדר את נתיב הפלט של PDF
System::String outputPath =  u"DOCX-to-PDFA.pdf";
// הגדר אפשרויות PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_Compliance(PdfCompliance::PdfA1a);
// שמור את המסמך בפורמט PDF.
doc->Save(outputPath, options);
std::cout << "Converted DOCX to PDF/A successfuly.";

המר דפים נבחרים של Word ל-PDF ב-C++

אתה יכול גם להמיר רק את הדפים שנבחרו במקום להמיר את כל ה-Word ל-PDF. להלן השלבים להמרת רק את הדפים הרצויים של Word ל-PDF:

  • טען את מסמך Word באמצעות המחלקה מסמך.
  • הגדר את האינדקס של דף הפתיחה באמצעות שיטת PdfSaveOptions->setPageIndex() .
  • הגדר את מספר הדפים שברצונך להמיר באמצעות שיטת PdfSaveOptions->setPageCount() .
  • שמור את המסמך כ-PDF בשיטת Document->Save().

דוגמת הקוד הבאה מראה כיצד להמיר דפים נבחרים של DOCX ל-PDF ב-C++.

// טען את המסמך מהדיסק.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// הגדר את נתיב הפלט של PDF
System::String outputPath =  u"DOCX-to-PDF.pdf";
// הגדר אפשרויות PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_PageIndex(1);
options->set_PageCount(2);
// שמור את המסמך בפורמט PDF.
doc->Save(outputPath, options);

החל דחיסת תמונה/טקסט בהמרת DOCX ל-PDF

אתה יכול גם לדחוס את מסמך ה-PDF שנוצר כדי להקטין את גודלו. Aspose.Words עבור C++ מאפשר לך להחיל את דחיסת הטקסט והתמונה באמצעות שיטות PdfSaveOptions->setTextCompression() ו-PdfSaveOptions->setImageCompression() בהתאמה. דוגמת הקוד הבאה מראה כיצד להחיל דחיסה בעת המרת DOCX ל-PDF ב-C++.

// טען את המסמך מהדיסק.
System::SharedPtr<Document> doc = System::MakeObject<Document>( u"Word.docx");
// הגדר את נתיב הפלט של PDF
System::String outputPath =  u"DOCX-to-PDF.pdf";
// הגדר אפשרויות PDF
System::SharedPtr<PdfSaveOptions> options = System::MakeObject<PdfSaveOptions>();
// הגדר איכות JPEG
options->set_JpegQuality(100);
// שמור את המסמך בפורמט PDF
doc->Save(outputPath, options);

למידע נוסף על Aspose.Words עבור C++

תוכל לחקור עוד על Aspose.Words עבור C++ באמצעות תיעוד. במקרה שאתה עשוי למצוא משהו מבלבל, אל תהסס ליידע אותנו באמצעות הפורום שלנו.

ראה גם