Introduction

Aspose.PDF FOSS for Go is a pure-Go library for working with PDF documents. It exposes an API สําหรับการสร้าง PDFs ใหม่จากเดิม เปิดและแก้ไขไฟล์ที่มีอยู่ การแบ่งแยก เอกสารเป็นผลิตต่อหน้า, การรวม PDF หลายแบบ และการใช้คําแปลที่เน้นหลักเกณฑ์ผ่านทาง การเข้ารหัส ทั้งหมดโดยไม่มีความพึ่งพา C หรือ C ++ ของพื้นบ้าน.

ห้องสมุดนี้มีให้บริการในรูปแบบโมดูล Go ที่: github.com/aspose-pdf-foss/aspose-pdf-foss-for-go และถูกปล่อยลงภายใต้ลิขสิทธิ์ MIT. ติดตั้งมันด้วย go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go ในทุก ๆ ไป 1.24 + โครงการ.

บทความนี้ครอบคลุม ความสามารถหลัก: การทํางานเอกสาร, ความปลอดภัย, เติม AcroForm, ลายตาราง, ตราลักษณ์และคําอธิบาย.


คุณสมบัติหลัก

การแบ่งเอกสารและการรวม

การ Document ประเภทให้บริการ Split() แบ่ง PDF เป็นเอกสารต่อหน้า และ Append() เพื่อรวมเอกสารภายนอกในสถานที่. PageRange ให้คุณทํางานกับ กลุ่มส่วนของหน้าเพื่อการสกัดหรือส่งออกอย่างเลือก. Metadata เผยแพร่ สายงานข้อมูลเอกสารสําหรับการอ่านและเขียน ผู้แต่ง, ชื่อหนังสือ และวันที่สร้าง.

doc, _ := pdf.Open("report.pdf")

// Split into per-page PDFs
pages, _ := doc.Split()
for i, p := range pages {
	p.Save(fmt.Sprintf("page%03d.pdf", i+1))
}

// Merge a second PDF into doc
doc2, _ := pdf.Open("appendix.pdf")
doc.Append(doc2)
doc.Save("combined.pdf")

การเข้ารหัสผ่านและอนุญาต

EncryptionOptions การตั้งค่า user password, owner password และการทํางานที่อนุญาตใน การเรียกครั้งเดียวที่ SetEncryption.อัลโกทิมที่สนับสนุนคือ AES-128 (แบบถัดไป), AES-256 (ISO 32000-2, ผลิตผลการออก PDF 2.0) และ RC4-128 สําหรับความเข้ากับเก่า. Permissions ให้คุณอนุญาตหรือปฏิเสธการปฏิบัติส่วนตัว พิมพ์, สําเนา, การเข้าถึงได้ 👍 โดยอิสระ. OpenWithPassword เปิดไฟล์ที่เข้ารหัส; RemoveEncryption ถอดสกัดจาก คําผ่านก่อนการบันทึกสําเนาที่เขียนเป็นคําเรียบง่าย.

doc, _ := pdf.Open("contract.pdf")
doc.SetEncryption(pdf.EncryptionOptions{
	UserPassword:  "userpass",
	OwnerPassword: "ownerpass",
	Permissions:   &pdf.Permissions{AllowPrint: true, AllowCopy: false},
})
doc.Save("contract_protected.pdf")

การประมวลผลสนาม AcroForm

Form ให้การเข้าถึงทุกสนาม AcroForm ในเอกสาร. Field คือฐาน ช่องทางเข้าใช้งาน; การประกาศชนิดให้การเข้าถึง TextBoxField, CheckboxField, RadioButtonField, ComboBoxField, ListBoxField,และ ButtonField.เซ็ตฟิลด์ ค่าตามชื่อสนาม ผู้ชมสร้างการปรากฏตัวโดยอัตโนมัติผ่าน /NeedAppearances=true เซฟ.

doc, _ := pdf.Open("application.pdf")
text := doc.Form().Field("full_name").(*pdf.TextBoxField)
text.SetValue("Jane Doe")

check := doc.Form().Field("agree_terms").(*pdf.CheckboxField)
check.SetChecked(true)

combo := doc.Form().Field("country").(*pdf.ComboBoxField)
combo.SetSelected(0)

doc.Save("application_filled.pdf")

การจัดวางตาราง

Table, Row,และ Cell สร้างแผนกกรีดที่มีโครงสร้างบนหน้า PDF. BorderInfo ทําการตั้งค่าแบบขอบต่อเซลล์หรือตารางทั้งหมด. MarginInfo เซ็ตเซลล์พัดชุด. TextStyle การควบคุมตัวอักษร ขนาด สี และการปรับตรงผ่าน HAlign และ VAlign. Image สามารถวางในเซลล์ข้างหน้าข้อความได้.

doc, _ := pdf.Open("invoice_template.pdf")
tbl := pdf.NewTable()
tbl.SetColumnWidths([]float64{120, 80, 80})

row := tbl.AddRow()
row.AddCell("Item")
row.AddCell("Qty")
row.AddCell("Price")

page, _ := doc.Page(1)
page.AddTable(tbl, pdf.Rectangle{LLX: 72, LLY: 100, URX: 540, URY: 700})
doc.Save("invoice.pdf")

การ ตรา หนังสือ และการ ค้นหาทาง

OutlineItemCollection เป็นตัวแทนของรายการตราลักษณ์เดียว. ใช้ SetTitle, SetBold, SetColor,และ SetDestination เพื่อปรับแต่งมัน. DestinationXYZ เป้าหมายที่แม่นยํา รองสภาพหน้า; DestinationFit ติดตามหน้าในตัวดู. NamedDestinations ลงทะเบียนเป้าหมายการกระโดดที่สามารถใช้งานได้ซ้ํา สามารถเข้าถึงโดยชื่อ.

doc, _ := pdf.Open("manual.pdf")
page, _ := doc.Page(1)

chapter := pdf.NewOutlineItemCollection(doc)
chapter.SetTitle("Chapter 1: Getting Started")
chapter.SetBold(true)
chapter.SetDestination(pdf.NewDestinationXYZ(page, 0, 800, 1.0))
doc.Outlines().Add(chapter)

section := pdf.NewOutlineItemCollection(doc)
section.SetTitle("Installation")
section.SetDestination(pdf.NewDestinationFit(page))
chapter.Add(section)

doc.Save("manual_with_bookmarks.pdf")

การแสดงคําอธิบายและตราจร

AnnotationCollection มีข้อความทั้งหมดในหน้าหนึ่ง. TextAnnotation เพิ่มข้อความติดต่อ ความคิดเห็น. StampAnnotation ใส่ตราการอนุมัติหรือประกาศข้อมูล โดยใช้เครื่องมือที่ 1 ของ: แปลงก่อนหน้านี้ StampName ค่าค่านิยม. HighlightAnnotation สัญลักษณ์เขตข้อความ. RedactAnnotation ยกเลิกเนื้อหาที่มีความรู้สึกอย่างถาวร. LinkAnnotation ติด URI หรือหน้าหมายปลาย การดําเนินงานที่เขตที่มีการคลิกได้.

doc, _ := pdf.Open("draft.pdf")
page, _ := doc.Page(1)

stamp := pdf.NewStampAnnotation(page, pdf.Rectangle{LLX: 100, LLY: 700, URX: 250, URY: 750}, pdf.StampNameApproved)
page.Annotations().Add(stamp)

doc.Save("draft_approved.pdf")

เริ่มต้นอย่างรวดเร็ว

ติดตั้งโหมด:

go get github.com/aspose-pdf-foss/aspose-pdf-foss-for-go

การทํางานที่น้อยที่สุด เปิด PDF, แคปร์มันด้วยคําแปล และบันทึก:

package main

import (
	"fmt"
	pdf "github.com/aspose-pdf-foss/aspose-pdf-foss-for-go"
)

func main() {
	doc, err := pdf.Open("input.pdf")
	if err != nil {
		panic(err)
	}

	doc.SetEncryption(pdf.EncryptionOptions{
		UserPassword:  "secret",
		OwnerPassword: "ownerSecret",
		Permissions:   &pdf.Permissions{AllowPrint: true},
	})

	if err := doc.Save("output_encrypted.pdf"); err != nil {
		panic(err)
	}
	fmt.Println("Saved output_encrypted.pdf")
}

หลักสูตรและใบอนุญาต

Aspose.PDF FOSS for Go is released under the MIT license. There are no usage restrictions, ไม่มีค่าใช้จ่ายในการทํางาน และไม่มีความจําเป็นของการลงทะเบียน โค้ดแหล่งสามารถหาได้ที่ github.com/aspose-pdf-foss/assume- pdf-Foss-for-go.

การใช้งานทางการค้าถูกอนุญาตภายใต้เงื่อนไขของลิซเซนส์ MIT หากโครงการของคุณต้องการ การสนับสนุนระดับองค์กร, การครอบคลุมรูปแบบขยาย หรือการบูรณาการในเมฆ Aspose.PDF — Enterprise Product Family เป็นส่วนหนึ่ง การเสนอขาย.


เริ่มต้น

แหล่งข้อมูลที่เกี่ยวข้อง