วิธีการทํางานกับ JavaScript Extensions ใน .NET

วิธีการทํางานกับ JavaScript Extensions ใน .NET

Aspose.PDF FOSS for .NET includes server-side implementations of the PDF JavaScript AF_Date_Format, AF_Number_Format, and AF_Percent_Format functions via the FieldDateTimeFormatter, FieldNumberCurrencyFormatter,และ FieldNumberPercentFormatter การติดตั้งแพ็คเกจด้วย dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha และใช้คลาสเหล่านี้เพื่อกรีดค่าสนาม AcroForm บนเซอร์เวอร์ โดยไม่จําเป็นต้องใช้เครื่อง JavaScript.

คู่มือขั้นตอนตามขั้นตอนนี้

ขั้นตอนที่ 1: ติดตั้งแพคเกจ

เพิ่ม Aspose.PDF FOSS ไปยังโครงการของคุณ:

dotnet add package Aspose.Pdf.Foss --version 0.1.0-alpha

ขั้นตอนที่ 2: นําเข้าชั้นเรียนที่จําเป็น

using Aspose.Pdf.Annotations.JavascriptExtensions;

ขั้นตอน 3: การประกอบค่าสนามวัน/เวลา

FieldDateTimeFormatter.Format(dateFormat, dateValue) เปลี่ยนแปลงรหัสวันที่ไร้ผลตามรูปแบบฟอร์มต์วัน แบบ Acrobat. นี่ตรงกับฟังก์ชัน PDF JavaScript AF_Date_Format.

string formatted = FieldDateTimeFormatter.Format("mm/dd/yyyy", "2026-06-11");

การ dateFormat ปารามีเตอร์ใช้ tokens ในรูปแบบวัน Acrobat (เช่น., mm, dd, yyyy, HH, MM) เมื่อการเข้า dateValue ไม่สามารถพาร์สได้, วิธีการจะคืน string ที่ว่างเปล่า.


ขั้นตอน 4: การจัดรูปแบบสนามจํานวนเป็นสกุลเงิน

FieldNumberCurrencyFormatter.Format(precision, sepStyle, negStyle, currencySymbol, isPrependCurrency, fieldValue) แฟมตัวกระบอกตัวเลขเป็นค่าสกุลเงิน. นี้ตรงกับฟังก์ชัน PDF JavaScript AF_Number_Format.

var currencyFormatter = new FieldNumberCurrencyFormatter();
string formatted = currencyFormatter.Format(
    precision: 2,
    sepStyle: 0,
    negStyle: 0,
    currencySymbol: "$",
    isPrependCurrency: true,
    fieldValue: "1234.5");

ปารามีเตอร์:

  • precision - จํานวนหลักทศวรรษ
  • sepStyle - แบบแยกพัน (0 = คอมม่า, 1 = จุด, 2 = ไม่มี)
  • negStyle - แบบเลขลบ (0 = ช่องคอก, 1 = ลบคํานํา)
  • currencySymbol - สายสัญลักษณ์เงิน
  • isPrependCurrency - true เพื่อวางสัญลักษณ์ก่อนเลข
  • fieldValue - ราคาสตริงตัวเลขที่ต้องประกอบรูปแบบ

ขั้นตอน 5: การจัดรูปแบบสนามจํานวนเป็นเปอร์เซ็นต์

FieldNumberPercentFormatter.Format(precision, sepStyle, isPrependPercent, fieldValue) แฟมตัวกระบอกตัวเลขเป็นเปอร์เซ็นต์ โดยคูณค่า raw ด้วย 100 ก่อน ซึ่งตรงกับฟังก์ชัน PDF JavaScript AF_Percent_Format.

var percentFormatter = new FieldNumberPercentFormatter();
string formatted = percentFormatter.Format(
    precision: 1,
    sepStyle: 0,
    isPrependPercent: false,
    fieldValue: "0.875");

ปารามีเตอร์:

  • precision - จํานวนหลักทศวรรษหลังจุดทัศน์
  • sepStyle - แบบแยกพัน (0 = คอมม่า, 1 = จุด, 2 = ไม่มี)
  • isPrependPercent - true เพื่อนําสัญลักษณ์ % ไปก่อน, false สําหรับการเพิ่ม
  • fieldValue - ราคาที่ไม่ถูกกําหนด (การจัดรูปจะคูณด้วย 100)

ปัญหาทั่วไปและข้อกําหนด

FieldDateTimeFormatter กลับร่องไร้ค่า นี่เกิดขึ้นเมื่อการ dateValue อาร์กูเมนต์ไม่สามารถพาราสโดยรูปแบบวันที่ใน dateFormat. ต็อกเคนวันที่ Acrobat ต่างจากรุ่นรูปแบบ DateTime ของ NET.

FieldNumberCurrencyFormatter สร้างการแยกตัวเลขทศนิยมผิดพลาด การ sepStyle ปารามีเตอร์ควบคุมการแยกพัน. เพื่อใช้จุดเป็นตัวแยกร่างพัน, ผ่าน sepStyle: 1.

FieldNumberPercentFormatter output เป็นขนาดใหญ่เกิน 100x การจัดรูปจะคูณค่าการเข้าด้วย 100 ถ้าคุณ fieldValue ตัวแทนเป็นร้อยละ (เช่น “87.5” แทนที่ “0.875”) หารด้วย 100 ก่อนเรียก Format.

namespace ไม่พบหลังจากการติดตั้งแพ็คเกจ การตรวจสอบการใช้งานของ Net8.0 หรือหลังกว่านี้. สเปซชื่อ JavascriptExtensions มีเพียงในแพ็คเกจ Aspose.Pdf.Foss เท่านั้น.

NullReferenceException บนสนามเปล่าValue การส่ง null หรือเส้นว่างเป็น fieldValue จะทําให้เกิดการยกเว้น parse. ยืนยันข้อมูลก่อนเรียก Format.

คําถามที่พบบ่อย

“ตรงกับ AF_Date_Format” หมายความว่าอย่างไร?

PDF AcroForm JavaScript ใช้ AF_Date_Format เป็นฟังก์ชันการจัดรูปแบบในสนามวันที่. FieldDateTimeFormatter ทําแบบล็อกติกการจัดรูปเดียวกันใน .NET ที่จัดการรหัสเพื่อให้คุณสามารถใช้สตริงฟอร์มเมทสนามที่เหมือนกันโดยไม่ต้องทํางาน JavaScript.

ผมสามารถใช้เครื่องออกแบบเหล่านี้นอกจากกรอบเอกสาร PDF ได้หรือไม่?

ใช่แล้ว. FieldDateTimeFormatter, FieldNumberCurrencyFormatter,และ FieldNumberPercentFormatter เป็นคลาสธรรมดาที่ไม่มีการพึ่งพาจาก a Document ตัวอย่าง คุณสามารถใช้มันใน .NET 8+ ทุกกรอบเป็นเครื่องออกแบบของบริการได้.

ความแตกต่างระหว่าง FieldNumberCurrencyFormatter และ Field NumberPercentFormatier คืออะไร?

FieldNumberCurrencyFormatter การออกแบบตัวเลขเป็นจํานวนเงินโดยไม่มีการคูณ. FieldNumberPercentFormatter คูณการเข้าด้วย 100 และเพิ่มหรือนําสัญลักษณ์เปอร์เซ็นต์มาใช้.

มีวิธีการที่สามารถติดต่อกับหลายตัวฟอร์มเมทได้หรือไม่?

ไม่มีการติดเชือกในระบบ. ใช้เครื่องฟอร์มเมทตามลําดับในโค้ด.

ผมต้องการเอกสาร PDF เต็มที่เพื่อใช้คลาสเหล่านี้หรือไม่?

ไม่. การจัดรูปใช้การทํางานบนเส้นเรียบและคืนรหัสที่ถูกจัดออก พวกเขาไม่ต้องการเปิด Document อย่างเช่น.

See Also

 ภาษาไทย