1. منتجات
  2.   بي دي إف
  3.   GO
  4.   unipdf  
 
  

Go API لإنشاء مستندات PDF ومعالجتها 

مكتبة Open Source Go التي تمنح المطورين القدرة على إنشاء مستندات PDF وتحريرها ومعالجتها وتحويلها.

يعد unipdf مكتبة مفتوحة المصدر يمكنها التعامل بسهولة مع جميع استفساراتك المتعلقة بإنشاء مستندات PDF ومعالجتها. المكتبة متاحة بموجب ترخيص مزدوج حيث يمكن استخدام ترخيص AGPL لتطوير البرامج مفتوحة المصدر. توفر المكتبة دعمًا كاملاً لإنشاء مستندات PDF بمستوى عالٍ من النصوص والرسومات والصور.

تدعم مكتبة unipdf مفتوحة المصدر العديد من الميزات الشائعة والمتقدمة لمعالجة مستندات PDF وتحسينها ، مثل إنشاء تقارير PDF وإنشاء تقارير PDF وإنشاء الفواتير وإنشاء الفقرات ومعالجتها ودمج صفحات PDF وتقسيمها وتناوب الصفحات واستخراج النص من ملفات PDF ، وتصدير PDF إلى CSV ، وتحويل الصور إلى PDF ، وضغط وتحسين PDF ، وملفات PDF ذات العلامات المائية ، والخطوط المركبة (أحرف Unicode) ، والتوقيعات الرقمية وغيرها الكثير.

.

Previous Next

الشروع في العمل مع unipdf

لتثبيت unipdf على نظامك ، يرجى تشغيل الأمر التالي. 

قم بتثبيت gofpdf عبر GitHub

go get github.com/unidoc/unipdf/v3

للحصول على آخر تحديث ، يرجى زيارة صفحة إصدارات المنتج .

إنشاء تقرير PDF عبر Go API

توفر واجهة برمجة تطبيقات unipdf مفتوحة المصدر للمطورين القدرة على إنشاء تقارير PDF داخل تطبيقات Go الخاصة بهم. تتيح المكتبة للمطورين العمل بكفاءة مع مستندات PDF وتضمنت دعمًا لإضافة الصور والجداول والعناوين والتذييلات وغير ذلك الكثير في تقارير PDF الخاصة بك بسهولة. يمكنك أيضًا وضع محتوى ديناميكي في تقارير PDF الخاصة بك ببضع سطرين من التعليمات البرمجية.

تحويل ملف PDF إلى CSV عبر Go API

تتيح مكتبة unipdf لمطوري البرامج تحويل ملفات PDF إلى تنسيقات ملفات CSV داخل تطبيقات Go الخاصة بهم. تعد محولات PDF إلى Excel أداة مفيدة للغاية لمؤسسات الأعمال والبحث. إنه سهل الاستخدام للغاية ويوفر القدرة على استخراج TextMarks من PDF ، وتجميعها معًا في كلمات وصفوف وأعمدة لاستخراج بيانات CSV.

أدخل الصور في ملف PDF

تمنح واجهة برمجة تطبيقات unipdf مفتوحة المصدر مبرمجي البرامج القدرة على إضافة صور من اختيارهم إلى مستندات PDF داخل تطبيقات GO. إنه يجعل مهام المطور أسهل أثناء وضع الصور في مستند PDF ، دون الحاجة إلى القلق بشأن الإحداثيات. تحتاج فقط إلى توفير مسار الصورة وحجمها دون القلق بشأن الإحداثيات. تضمنت المكتبة دعمًا لتنسيقات الصور الشائعة مثل JPEG و PNG و GIF و TIFF والمزيد.

 // Images to PDF.
func imagesToPdf(inputPaths []string, outputPath string) error {
	c := creator.New()
	for _, imgPath := range inputPaths {
		common.Log.Debug("Image: %s", imgPath)
		img, err := c.NewImageFromFile(imgPath)
		if err != nil {
			common.Log.Debug("Error loading image: %v", err)
			return err
		}
		img.ScaleToWidth(612.0)
		// Use page width of 612 points, and calculate the height proportionally based on the image.
		// Standard PPI is 72 points per inch, thus a width of 8.5"
		height := 612.0 * img.Height() / img.Width()
		c.SetPageSize(creator.PageSize{612, height})
		c.NewPage()
		img.SetPos(0, 0)
		_ = c.Draw(img)
	}
	err := c.WriteToFile(outputPath)
	return err
}
  

أضف كلمة مرور إلى مستندات PDF

تمنح واجهة برمجة تطبيقات unipdf المجانية للمطورين القدرة على حماية مستندات PDF الخاصة بهم من خلال تطبيق كلمة مرور عليهم باستخدام أوامر Go. يمكنك تقييد المستخدمين من فتح وقراءة مستندات PDF. يمكنك أيضًا تعيين كلمة مرور المالك لمنح حق الوصول الكامل إلى ملف PDF. علاوة على ذلك ، يمكنك أيضًا تقييد المستخدمين من إجراء أي نوع من التغييرات على أجزاء معينة من مستندات PDF.

func protectPdf(inputPath string, outputPath string, userPassword, ownerPassword string) error {
	permissions := security.PermPrinting | // Allow printing with low quality
		security.PermFullPrintQuality |
		security.PermModify | // Allow modifications.
		security.PermAnnotate | // Allow annotations.
		security.PermFillForms |
		security.PermRotateInsert | // Allow modifying page order, rotating pages etc.
		security.PermExtractGraphics | // Allow extracting graphics.
		security.PermDisabilityExtract // Allow extracting graphics (accessibility)
	encryptOptions := &model.EncryptOptions{
		Permissions: permissions,
	}
	f, err := os.Open(inputPath)
	if err != nil {
		return err
	}
	defer f.Close()
	pdfReader, err := model.NewPdfReader(f)
	if err != nil {
		return err
	}
	isEncrypted, err := pdfReader.IsEncrypted()
	if err != nil {
		return err
	}
	if isEncrypted {
		return fmt.Errorf("The PDF is already locked (need to unlock first)")
	}
	// Generate a PdfWriter instance from existing PdfReader.
	pdfWriter, err := pdfReader.ToWriter(nil)
	if err != nil {
		return err
	}
	// Encrypt document before writing to file.
	err = pdfWriter.Encrypt([]byte(userPassword), []byte(ownerPassword), encryptOptions)
	if err != nil {
		return err
	}
	// Write to file.
	err = pdfWriter.WriteToFile(outputPath)
	return err
}
  
 عربي