API חינמי של C++ ל‑PDF לקריאה, כתיבה, מיזוג והצפנה של קבצי PDF.
ספריית קוד פתוח מובילה ב‑C++ ליצירת PDF עבור C ו‑C++. היא מספקת סט מלא של תכונות לקריאה, יצירה, עריכה, ניתוח והגנה על מסמכי PDF בסביבות חוצות פלטפורמות.
מהי ספריית VersyPDF?
בעולם פיתוח התוכנה, היכולת ליצור ולנהל מסמכי PDF היא דרישה נפוצה. VersyPDF היא ספרייה חזקה וקוד פתוח ב‑C++/C המספקת סט מקיף של כלים לעבודה עם קבצי PDF. בין אם אתה בונה מערכת ניהול מסמכים מורכבת או פשוט צריך להוסיף פונקציונליות ייצוא PDF ליישום שלך, VersyPDF מכסה את הצרכים שלך. הספרייה מספקת שליטה מדוקדקת מאוד בטקסט, גרפיקה, פריסה, גופנים, צבע; מתאימה ליישומים הדורשים פלט מדויק (למשל פרסום, יצירת מסמכים אוטומטית). הספרייה מציעה פתרון מלא לעבודה עם טפסי PDF. ניתן למלא טפסים קיימים, לקרוא ערכי שדות הטופס, ואף ליצור שדות טופס חדשים מאפס.
VersyPDF היא ספריית PDF בקוד פתוח, חזקה בתעשייה, עבור C ו‑C++, שפותחה על ידי Sybrex Systems. מטרתה היא לספק למפתחים סט מלא של כלים לקריאה, יצירה, עריכה, מניפולציה והגנה על מסמכי PDF בסביבות חוצות פלטפורמות. היא מתגאה במערך תכונות עשיר שהופך אותה לפתרון רב‑גוני למגוון רחב של משימות הקשורות ל‑PDF. הספרייה תומכת בקריאה וכתיבה של מסמכי PDF, יצירת תוכן ומניפולציה, הטמעת תמונות במסמכי PDF, טיפול בגופנים וטקסט, תמיכה משופרת בצבעים וגרפיקה, יצירה ועריכת סימניות, תמיכה בהצפנת PDF, אופטימיזציה של קבצי PDF, ועוד. עם מערך התכונות המקיף שלה ו‑API קל לשימוש, VersyPDF היא בחירה מצוינת לכל מפתח שצריך לשלב פונקציונליות PDF באפליקציות שלו.
התחלה עם VersyPDF
הדרך המומלצת להתקנת VersyPDF היא באמצעות CMake. אנא השתמשו בפקודה הבאה להתקנה חלקה.
התקנת VersyPDF דרך GitHub
git clone https://github.com/sybrexsys/VersyPDF.git
אתה יכול גם להתקין זאת ידנית; הורד את קבצי השחרור האחרונים ישירות ממאגר GitHub.
קריאה וכתיבה של מסמכי PDF באמצעות C++
הקוד הפתוח VersyPDF כולל תמיכה ביצירת מסמכי PDF חדשים ובקריאת קבצי PDF קיימים בתוך יישום C++. מפתחים יכולים לטעון מסמכי PDF מקבצים או ממאגרי זיכרון, ולכתוב קבצי PDF משוכתבים או חדשים חזרה לקובץ או לזיכרון בקלות. זה אומר שהקלט והפלט גמישים. הדוגמה הבאה מציגה כיצד ליצור מסמך PDF פשוט עם דף טקסט יחיד באמצעות פקודות C++.
איך ליצור מסמכי PDF ולהוסיף להם דף באמצעות API של C++?
#include "versypdf.h"
int main()
{
// Create a new PDF document
CPDFDocument doc;
doc.CreateNew();
// Add a new page
CPDFPage page = doc.AppendPage();
// Set the font and draw some text
page.BeginText();
page.SetFont("Helvetica", 12);
page.SetXY(100, 700);
page.ShowText("Hello, VersyPDF!");
page.EndText();
// Save the document to a file
doc.SaveToFile("hello.pdf");
return 0;
}
הוספת תמונות וגופנים ל-PDF באמצעות API של C++
הקוד הפתוח VersyPDF מקל על מפתחים לטפל בתמונות ובגופנים בתוך מסמכי PDF באמצעות API של C++. הספרייה תומכת בהטמעת פורמטים נפוצים של תמונות, כגון TIFF, JPEG, PNG, BMP ועוד. זה מאוד שימושי להוספת תוכן רסטר (למשל, תמונות, סריקות). הדוגמה הבאה מציגה כיצד מפתחים יכולים להטמיע תמונת JPEG בתוך מסמך PDF ביישומי C++.
איך לשבץ תמונת JPEG בתוך מסמך PDF באפליקציות C++?
#include "versypdf.h"
int main()
{
// Create a new PDF document
CPDFDocument doc;
doc.CreateNew();
// Add a new page
CPDFPage page = doc.AppendPage();
// Load an image from a file
CPDFImage image = doc.CreateImageFromFile("my_image.jpg");
// Draw the image on the page
page.DrawImage(image, 100, 500, 200, 150);
// Save the document to a file
doc.SaveToFile("image_example.pdf");
return 0;
}
מיזוג קבצי PDF וניהול דפים ב-PDF באמצעות C++
ספריית VersyPDF כוללת מספר תכונות למיזוג מסמכי PDF שונים ולניהול דפים בתוך מסמכי PDF באמצעות ספריית C++. הספרייה כוללת תמיכה בסיבוב דפים, פיצול, מיזוג, הוספה ומחיקת דפים לא רצויים עם רק כמה שורות קוד. בנוסף, היא תומכת גם בהוספה או הוספת תוכן חדש לדפים קיימים בקלות. הנה דוגמה מאוד שימושית שמראה כיצד למזג שני קבצי PDF, להוסיף סימנייה וליישם הצפנה בתוך אפליקציות C++.
איך למזג שני קבצי PDF, להוסיף סימנייה ולהחיל הצפנה באמצעות C++?
#include "versypdf.h"
int main() {
// Load existing PDFs
VersyPDF::Document doc1, doc2;
doc1.LoadFromFile("document1.pdf");
doc2.LoadFromFile("document2.pdf");
// Merge
VersyPDF::Document merged = VersyPDF::Merge({ &doc1, &doc2 });
// Add a bookmark to first page
merged.AddBookmark("Start Here", /*pageIndex=*/0, /*destination=*/VersyPDF::Destination::FitPage);
// Apply encryption: 256-bit AES, require password to open
merged.SetSecurityHandler(VersyPDF::Security::AES256, /*ownerPwd=*/"ownerpass", /*userPwd=*/"userpass", /*permissions=*/VersyPDF::Permission::Print);
// Save
merged.Save("merged_encrypted.pdf");
return 0;
עבודה עם טפסי PDF באמצעות C++
הספרייה הקוד הפתוח VersyPDF מספקת פתרון מלא לעבודה עם טפסי PDF. הספרייה כוללת מגוון תכונות לטיפול בטפסים, כגון יצירת שדות טופס חדשים מאפס, מילוי טפסים קיימים, קריאת ערכי שדות הטופס ועוד רבים. הנה דוגמה מאוד שימושית שמדגימה כיצד מפתחים יכולים למלא טופס PDF פשוט עם שדה טקסט יחיד באמצעות C++.
איך למלא טופס PDF פשוט עם שדה טקסט יחיד באמצעות אפליקציות C++?
#include "versypdf.h"
int main()
{
// Load an existing PDF document with a form
CPDFDocument doc;
doc.LoadFromFile("form.pdf");
// Get the form field by name
CPDFFormField field = doc.GetFormField("my_text_field");
// Set the value of the form field
field.SetValue("This is the new value");
// Save the modified document
doc.SaveToFile("form_filled.pdf");
return 0;
}