การนำทางและการกระทำ
การนำทางและการกระทำ
Aspose.PDF FOSS for .NET รองรับโครงสร้างการนำทาง PDF — bookmarks (outlines), page destinations, และ document actions. สิ่งเหล่านี้ทำให้คุณสามารถสร้างเอกสารเชิงโต้ตอบด้วยการนำทางแบบ table-of-contents navigation, cross-page links, และ JavaScript triggers.
โครงร่างเอกสาร (บุ๊กมาร์ก)
OutlineCollection เก็บต้นไม้ของบุ๊กมาร์กในเอกสาร แต่ละ OutlineItemCollection เป็นรายการบุ๊กมาร์กที่มีชื่อเรื่องและตำแหน่งปลายทาง.
using var doc = Document.Open(pdfBytes);
foreach (var item in doc.Outlines)
{
Console.WriteLine($"Bookmark: {item.Title}");
}การสร้างบุ๊กมาร์ก
using var doc = Document.Open(pdfBytes);
var bookmark = new OutlineItemCollection(doc.Outlines);
bookmark.Title = "Chapter 1";
bookmark.Action = new GoToAction(doc.Pages[1]);
doc.Outlines.Add(bookmark);
doc.Save("with-bookmarks.pdf");การกระทำ GoTo
GoToAction ไปยังหน้าเฉพาะและประเภทการปรับให้พอดีภายในเอกสารเดียวกัน.
var goTo = new GoToAction(doc.Pages[3]);การกระทำที่มีชื่อ
NamedAction เรียกใช้คำสั่งของโปรแกรมดู PDF ที่กำหนดไว้ล่วงหน้า เช่น NextPage, PrevPage, FirstPage และ LastPage.
var nextPage = PdfAction.CreateNamed("NextPage");GoToRemote การกระทำ
GoToRemoteAction เปิดไฟล์ PDF ภายนอกและไปยังหน้าที่ระบุ.
var remote = new GoToRemoteAction("other.pdf", 1);เริ่มการทำงาน
LaunchAction เปิดไฟล์ภายนอก (รูปแบบใดก็ได้) จากลิงก์ PDF.
var launch = new LaunchAction("readme.txt");คอลเลกชันปลายทาง
DestinationCollection ทำการแมป named destinations ไปยังหน้า, รองรับการนำทางแบบอ้างอิงข้ามในเอกสารขนาดใหญ่.
var dest = doc.Destinations;
int pageNum = dest.GetPageNumber("section2");เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด
- สร้างโครงสร้างหนังสือหมายที่สะท้อนลำดับชั้นของส่วนในเอกสารของคุณเพื่อการนำทางที่เป็นธรรมชาติ
- ใช้
GoToActionร่วมกับFitTypeเพื่อควบคุมวิธีการแสดงหน้าที่เป้าหมาย (fit width, fit page, เป็นต้น) - การกระทำที่ตั้งชื่อขึ้นอยู่กับโปรแกรมดู — ควรใช้ชื่อมาตรฐาน (NextPage, PrevPage, FirstPage, LastPage)
- สำหรับลิงก์ข้ามเอกสาร ให้ใช้
GoToRemoteActionแทนการใช้ URI actions ที่ชี้ไปยังไฟล์ PDF - คอลเลกชันของ Action บนหน้าอนุญาตให้คุณเพิ่มหลาย Action ที่ทำงานเมื่อเปิดหน้า
ปัญหาทั่วไป
| Issue | Cause | Fix |
|---|---|---|
| บุ๊กมาร์คไม่ทำการนำทาง | ไม่ได้ตั้งค่าการกระทำบนรายการโครงร่าง | กำหนด GoToAction ให้กับ OutlineItemCollection.Action |
| การกระทำ GoTo ชี้เป้าหน้าผิด | ดัชนีหน้าถูกนับจาก 0 ภายในแต่หน้าถูกนับจาก 1 | ใช้ doc.Pages[n] โดยตรงในตัวสร้าง GoToAction |
| การกระทำที่มีชื่อไม่มีผล | โปรแกรมดูไม่รองรับการกระทำที่มีชื่อ | ใช้ชื่อมาตรฐานเท่านั้น |
คำถามที่พบบ่อย
ฉันจะสร้างสารบัญอย่างไร?
สร้าง OutlineItemCollection รายการสำหรับแต่ละส่วน, แต่ละรายการด้วยGoToAction ที่มุ่งเป้าไปยังหน้าที่หนึ่งของส่วนนั้น.
ฉันสามารถซ้อนบุ๊กมาร์กได้หรือไม่?
ใช่. เพิ่มรายการลูก OutlineItemCollection ไปยังบุ๊กมาร์กพาเรนต์เพื่อสร้างโครงร่างแบบลำดับชั้น.
ประเภทการปรับขนาดที่มีให้สำหรับการกระทำ GoTo มีอะไรบ้าง?
Fit, FitH (ปรับความกว้าง), FitV (ปรับความสูง), FitR (ปรับสี่เหลี่ยม), และ FitB (ปรับกล่องขอบเขต).
API สรุปอ้างอิง
| Class / Method | Description |
|---|---|
OutlineCollection | คอลเลกชันของบุ๊กมาร์กระดับบนสุดในเอกสาร |
OutlineItemCollection | รายการบุ๊กมาร์กเดี่ยวที่มีหัวเรื่องและการกระทำ |
GoToAction | นำทางไปยังหน้าภายในเอกสารเดียวกัน |
GoToRemoteAction | นำทางไปยังหน้าภายใน PDF ภายนอก |
LaunchAction | เปิดไฟล์ภายนอก |
NamedAction | เรียกใช้คำสั่งตัวดูที่กำหนดไว้ล่วงหน้า |
PdfAction.CreateGoTo | โรงงานสำหรับการกระทำ GoTo |
PdfAction.CreateNamed | โรงงานสำหรับการกระทำที่มีชื่อ |
ActionCollection | คอลเลกชันของการกระทำบนหน้า หรือคำอธิบายประกอบ |
DestinationCollection | ทะเบียนปลายทางที่มีชื่อ |
ActionType | การนับประเภท: GoTo, URI, JavaScript, Named, Launch |