ข้ามไปยังเนื้อหา
getnextpdf.com

Enterprise รุ่น

การแสดงแบรนด์

ระบบย่อยการแสดงแบรนด์ใช้การแสดงแบรนด์สำหรับการประเมินที่มองเห็นได้กับ PDF ที่สร้างขึ้นระหว่างการประเมิน และไม่ใช้สิ่งใดภายใต้สิทธิ์ใช้งานแบบชำระเงิน ระบบนี้ถูกส่งมอบในแพ็กเกจ nextpdf/enterprise กำกับพฤติกรรมการประเมินข้ามรุ่น และขับเคลื่อนทั้งหมดด้วยสิทธิ์ใช้งาน ไม่ใช่ด้วยโค้ดของแอปพลิเคชัน สำหรับเรื่องราวการประเมินแบบครบวงจร ดู การทดลองใช้และการแสดงแบรนด์สำหรับการประเมิน หน้านี้บันทึกตัวระบบย่อยการแสดงแบรนด์เอง

ความสามารถนี้มาใน NextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วยซองสิทธิ์ใช้งานระดับ Enterprise การปรับใช้ที่ไม่มีสิทธิ์นั้นจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและขอรับสิทธิ์ใช้งาน

ต่างจากพื้นผิว Enterprise ส่วนใหญ่ ความสามารถนี้มีรหัสความสามารถเฉพาะคือ enterprise.branding เพราะกำกับพฤติกรรมการประเมินข้าม ทุก รุ่น รวมถึงการปรับใช้แบบ Core-only และ Pro-only ด้วย โหมดการแสดงแบรนด์ถูกแปลงจากซองสิทธิ์ใช้งานที่ลงนามแล้วขณะรันไทม์ ไม่มีแฟล็กของแอปพลิเคชันใดเป็นตัวเลือก และสิทธิ์ใช้งานแบบชำระเงินในรุ่นใดก็ตามแปลงเป็น BrandingMode::None

Terminal window
composer require nextpdf/enterprise:^3

รันไทม์มีโหมดการแสดงแบรนด์ที่มีสองสถานะ จำลองโดย BrandingMode:

  • None — ไม่มีการแสดงแบรนด์สำหรับการประเมิน เอาต์พุตแบบชำระเงินและแบบปกติจะไม่ถูกแก้ไข นี่คือค่าเริ่มต้น
  • EvaluationWatermark — การแสดงแบรนด์สำหรับการประเมินที่มองเห็นได้ถูกใช้กับ PDF ที่สร้างขึ้น

BrandingStrategyFactory จับคู่โหมดเข้ากับกลยุทธ์ ได้แก่ NullBrandingStrategy สำหรับ None (ไม่ทำงานใด ๆ และไม่สร้างการแก้ไขใด ๆ) และ EvaluationBrandingStrategy สำหรับ EvaluationWatermark สถานะของสิทธิ์ใช้งาน ไม่ใช่โค้ดของแอปพลิเคชัน เป็นตัวเลือกโหมด สิทธิ์ใช้งานแบบชำระเงินไม่เคยสร้างเอาต์พุตที่มีการแสดงแบรนด์ และไม่มีบิลด์สำหรับการใช้งานจริงให้สลับและไม่มีแฟล็กในโค้ดให้พลิก

หน้านี้อธิบายเฉพาะพฤติกรรมขณะรันไทม์ ไม่มีการรับประกันและไม่มีคำแถลงเกี่ยวกับสิทธิ์ในการรับบริการหรือผลทางกฎหมาย ข้อกำหนดที่มีผลกับการประเมินหรือการสมัครสมาชิกของคุณถูกกำหนดโดยข้อตกลงสิทธิ์ใช้งานของคุณเท่านั้น

แนวคิดพฤติกรรม
BrandingModeสองสถานะ ได้แก่ None (ค่าเริ่มต้น ไม่มีการแก้ไข) หรือ EvaluationWatermark
BrandingStrategyFactoryแปลง BrandingMode เป็นกลยุทธ์
EvaluationBrandingStrategyใช้ลายน้ำสำหรับการประเมินและการตกแต่งเมทาดาทา
NullBrandingStrategyกลยุทธ์แบบไม่ทำงานสำหรับเอาต์พุตแบบชำระเงิน / แบบปกติ
EvaluationBrandingConfigข้อความลายน้ำ การตกแต่งเมทาดาทา ขนาดฟอนต์ ระดับสีเทา และมุมที่ไม่เปลี่ยนรูป
BrandingStrategyสัญญาที่เลเยอร์การผสานรวมใช้ ได้แก่ isActive(), buildPageWatermark(), decorateProducer(), decorateSubject()
BrandingApplicatorใช้กลยุทธ์ที่แปลงแล้วกับไบต์ PDF ที่แสดงผล fail-closed โดยโยน BrandingApplicationException เมื่อการแสดงแบรนด์ที่ทำงานอยู่ไม่สามารถทำเครื่องหมายได้

ระบบย่อยเปิดเผยพื้นผิวที่เรียกใช้ได้ขนาดเล็กสำหรับเลเยอร์การผสานรวมที่ ใช้ กลยุทธ์ที่สิทธิ์ใช้งานแปลงมา โค้ดของแอปพลิเคชันไม่เคยเลือกว่าจะแสดงแบรนด์หรือไม่ ตัวอย่างด้านล่างแสดงจุดสัมผัสสองจุด ได้แก่ การอ่านกลยุทธ์ที่แปลงแล้ว และการทำเครื่องหมายไบต์ที่แสดงผลด้วยตัวใช้แบบ fail-closed

แปลงกลยุทธ์ที่สิทธิ์ใช้งานเลือกและอ่านพฤติกรรมของมัน สิทธิ์ใช้งานแบบชำระเงินแปลงเป็น BrandingMode::None ซึ่งกลยุทธ์ไม่ทำงานและส่งผ่านทุกค่าโดยไม่เปลี่ยนแปลง

resolve-strategy.php
<?php
declare(strict_types=1);
use NextPDF\Enterprise\Branding\BrandingMode;
use NextPDF\Enterprise\Branding\BrandingStrategyFactory;
// The license resolves the mode; None is what a paid license produces.
$strategy = BrandingStrategyFactory::create(BrandingMode::None);
\var_dump($strategy->isActive()); // bool(false)
echo $strategy->decorateProducer('NextPDF 3.1'); // NextPDF 3.1 (unchanged)

ทำเครื่องหมายไบต์ PDF ที่แสดงผลแล้วด้วยกลยุทธ์ที่สิทธิ์ใช้งานแปลงมา BrandingApplicator::apply() คืนค่าอินพุตโดยไม่เปลี่ยนแปลงสำหรับสิทธิ์ใช้งานแบบชำระเงิน และสำหรับสิทธิ์ใช้งานการประเมิน จะต่อท้ายลายน้ำและเครื่องหมายเมทาดาทาในขณะที่ยังคงไบต์ต้นฉบับไว้ครบถ้วน มันโยน BrandingApplicationException เมื่อการแสดงแบรนด์ที่ทำงานอยู่ไม่สามารถใช้ได้อย่างปลอดภัย ให้ถือว่าเป็นภาวะสิ้นสุดและไม่ commit ไบต์ที่ไม่มีการทำเครื่องหมายเด็ดขาด

apply-evaluation-branding.php
<?php
declare(strict_types=1);
use NextPDF\Enterprise\Branding\BrandingApplicationException;
use NextPDF\Enterprise\Branding\BrandingApplicator;
use NextPDF\Enterprise\Branding\BrandingMode;
use NextPDF\Enterprise\Branding\BrandingStrategyFactory;
use NextPDF\Enterprise\Branding\EvaluationBrandingConfig;
/**
* Apply the branding the license resolved to freshly rendered PDF bytes.
*
* @param string $renderedPdf Bytes from the render engine.
* @param BrandingMode $mode Resolved from the signed license envelope.
*
* @throws BrandingApplicationException When active branding cannot be marked.
*/
function markEvaluationOutput(string $renderedPdf, BrandingMode $mode): string
{
$strategy = BrandingStrategyFactory::create(
$mode,
new EvaluationBrandingConfig(
watermarkText: 'EVALUATION COPY — Not for Production Use',
),
);
try {
return (new BrandingApplicator())->apply($renderedPdf, $strategy);
} catch (BrandingApplicationException $e) {
// Fail-closed: never emit unbranded evaluation output. Dead-letter.
throw $e;
}
}

เมื่อสิทธิ์ใช้งานที่ใช้งานอยู่เลือก EvaluationWatermark กลยุทธ์การประเมินจะ:

  • วาดข้อความลายน้ำแนวทแยงสีเทาอ่อนบนแต่ละหน้า แสดงผลเป็น content stream ของหน้าในสถานะกราฟิกที่แยกออกมา จึงไม่เปลี่ยนแปลงเนื้อหาโดยรอบหรือเค้าโครงของคุณ
  • ต่อท้ายส่วนต่อท้ายสำหรับการประเมินเข้ากับเมทาดาทาผู้ผลิตของเอกสาร
  • เติมส่วนนำหน้าสำหรับการประเมินไว้หน้าเมทาดาทาหัวเรื่องของเอกสาร

ลายน้ำใช้ฟอนต์ Base14 และเมทริกซ์การหมุนเพื่อวางข้อความในแนวทแยงผ่านกึ่งกลางหน้า ออบเจกต์การกำหนดค่าไม่เปลี่ยนรูปและตรวจสอบความถูกต้องของอินพุต (เช่น ข้อความลายน้ำต้องไม่ว่างและขนาดฟอนต์ต้องเป็นค่าบวก)

สิทธิ์ใช้งานแบบชำระเงินลบการแสดงแบรนด์อย่างไร

หัวข้อที่มีชื่อว่า “สิทธิ์ใช้งานแบบชำระเงินลบการแสดงแบรนด์อย่างไร”

ภายใต้สิทธิ์ใช้งานแบบชำระเงิน (ไม่ใช่การประเมิน) โหมดการแสดงแบรนด์คือ None และเลือกกลยุทธ์แบบ null กล่าวคือ ไม่มีลายน้ำ ไม่มีส่วนต่อท้ายผู้ผลิต ไม่มีส่วนนำหน้าหัวเรื่อง เอาต์พุตเหมือนกับเอาต์พุตที่ผลิตโดยไม่มีระบบย่อยการแสดงแบรนด์เลย การลบการแสดงแบรนด์สำหรับการประเมินไม่ต้องเปลี่ยนโค้ด เพียงติดตั้งสิทธิ์ใช้งานแบบชำระเงินแล้วเอกสารที่สร้างถัดไปจะไม่มีการแสดงแบรนด์

  • การแสดงแบรนด์ปรากฏเมื่อสถานะสิทธิ์ใช้งานเป็นแบบการประเมิน นี่สะท้อนสถานะสิทธิ์ใช้งาน ไม่ใช่ข้อบกพร่อง ให้ตรวจสอบสถานะสิทธิ์ใช้งานและต่ออายุผ่านพอร์ทัลสิทธิ์ใช้งาน
  • ลายน้ำถูกจัดให้อยู่กึ่งกลางและแนวทแยงโดยการออกแบบ เพื่อให้เอาต์พุตการประเมินชัดเจน ไม่ได้มีไว้เพื่อปรับแต่งสำหรับการใช้งานจริง สิทธิ์ใช้งานแบบชำระเงินลบออกทั้งหมด
  • เมทาดาทาผู้ผลิตและหัวเรื่องพกพาเครื่องหมายการประเมินระหว่างการประเมินและไม่มีภายใต้สิทธิ์ใช้งานแบบชำระเงิน

ลายน้ำเป็น content stream ต่อหน้าขนาดเล็กแบบคงที่ที่มีผลกระทบเล็กน้อยต่อเวลาการสร้างหรือขนาดเอกสาร ภายใต้สิทธิ์ใช้งานแบบชำระเงิน ระบบย่อยไม่ทำงานใด ๆ งบประมาณประสิทธิภาพของหน้าสะท้อนการแสดงผลเอกสาร

การแสดงแบรนด์สำหรับการประเมินเป็นเครื่องหมายความมองเห็นได้ ไม่ใช่มาตรการควบคุมความปลอดภัย มันบ่งชี้เอาต์พุตการประเมิน ไม่ใช่ลายเซ็นดิจิทัลและต้องไม่ถูกใช้เป็นลายเซ็นดิจิทัล สำหรับเอาต์พุตที่มีหลักฐานการถูกแก้ไข ให้ใช้ความสามารถในการลงนามที่อธิบายในเมทริกซ์ฟีเจอร์ สิทธิ์ใช้งานที่เลือกโหมดการแสดงแบรนด์คือซองที่ลงนามแล้วซึ่งรันไทม์ตรวจสอบลายเซ็นของผู้ออก

ระบบย่อยการแสดงแบรนด์เพิ่มลายน้ำคงที่และเครื่องหมายเมทาดาทา ไม่อ่านหรือส่งเนื้อหาเอกสารและไม่เรียกเครือข่ายใด ๆ

การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก

หัวข้อที่มีชื่อว่า “การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก”

ระบบย่อยไม่บันทึกเนื้อหาเอกสารในล็อก การเปลี่ยนสถานะสิทธิ์ใช้งานที่เปลี่ยนโหมดการแสดงแบรนด์ถูกแสดงผ่านระบบย่อยสิทธิ์ใช้งาน ไม่ใช่ที่นี่

ไม่มีการกล่าวอ้างการเป็นไปตามมาตรฐานใด ๆ สำหรับหน้านี้ หน้านี้อธิบายเฉพาะพฤติกรรมขณะรันไทม์ ไม่ระบุหรือบ่งบอกการรับประกัน การรับรอง หรือสิทธิ์ในการรับบริการใด ๆ ข้อกำหนดของการประเมินหรือการสมัครสมาชิกของคุณถูกกำหนดโดยข้อตกลงสิทธิ์ใช้งานของคุณเท่านั้น

โมดูลนี้ไม่ดำเนินการเชิงการเข้ารหัสลับใด ๆ การตรวจสอบลายเซ็นสิทธิ์ใช้งานจัดการโดยระบบย่อยสิทธิ์ใช้งาน

ตัวระบบย่อยการแสดงแบรนด์เองไม่ประมวลผลอินพุตภายนอกใดนอกเหนือจากโหมดการแสดงแบรนด์ที่แปลงแล้ว ซองสิทธิ์ใช้งานที่เลือกโหมดถูกลงนามและลายเซ็นของผู้ออกถูกตรวจสอบโดยรันไทม์ การปลอมแปลงโหมดจะต้องปลอมลายเซ็นนั้น

  • BrandingMode มีสองสถานะ ได้แก่ None (ค่าเริ่มต้น ไม่มีการแก้ไขเอาต์พุต) และ EvaluationWatermark
  • ภายใต้สิทธิ์ใช้งานแบบชำระเงิน (ไม่ใช่การประเมิน) โหมดคือ None และเลือกกลยุทธ์แบบ null เอาต์พุตเหมือนกับเอาต์พุตที่ผลิตโดยไม่มีระบบย่อยการแสดงแบรนด์เลย
  • ภายใต้สิทธิ์ใช้งานสำหรับการประเมิน กลยุทธ์วาดลายน้ำแนวทแยงในสถานะกราฟิกที่แยกออกมาและต่อท้ายเครื่องหมายการประเมินเข้ากับเมทาดาทาผู้ผลิตและหัวเรื่อง
  • ออบเจกต์การกำหนดค่าไม่เปลี่ยนรูปและตรวจสอบความถูกต้องของอินพุต (ข้อความลายน้ำไม่ว่าง ขนาดฟอนต์เป็นค่าบวก)

หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว API สาธารณะที่รองรับเท่านั้น พาธเนมสเปซภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้าหมายเลขทิกเก็ตอยู่นอกขอบเขต

ระบบย่อยการแสดงแบรนด์มาในแพ็กเกจ nextpdf/enterprise แต่กำกับพฤติกรรมการประเมินข้าม ทุก รุ่น รวมถึงการปรับใช้แบบ Core- และ Pro-only ที่ใช้สิทธิ์ใช้งานสำหรับการประเมิน ไม่มีระบบย่อยการแสดงแบรนด์เฉพาะ Core ให้สำรองไป สิทธิ์ใช้งานแบบชำระเงินในรุ่นใดก็ตามแปลงเป็น BrandingMode::None

ไม่มีระบบย่อยการแสดงแบรนด์เฉพาะ Pro แยกต่างหาก ระบบย่อยการแสดงแบรนด์ nextpdf/enterprise เดียวกันกำกับพฤติกรรมการประเมินสำหรับการปรับใช้ Pro สิทธิ์ใช้งาน Pro แบบชำระเงินแปลงเป็น BrandingMode::None เหมือนกับสิทธิ์ใช้งาน Enterprise แบบชำระเงินทุกประการ

รายละเอียดกลไกภายในอยู่ในเอกสารภายในของ source repository และอยู่นอกขอบเขตของคู่มือนี้

ซองสิทธิ์ใช้งานที่เลือกโหมดการแสดงแบรนด์คืออาร์ทิแฟกต์ที่ลงนามแล้วซึ่งรันไทม์ตรวจสอบลายเซ็นของผู้ออก การจัดเตรียมสิทธิ์ใช้งาน การต่ออายุ และการจัดเก็บสิทธิ์ใช้งานอย่างปลอดภัยเป็นความรับผิดชอบของผู้ปฏิบัติงาน ระบบย่อยไม่เรียกเครือข่ายใด ๆ และไม่อ่านเนื้อหาเอกสารใด ๆ

หน้านี้อธิบายเฉพาะพฤติกรรมขณะรันไทม์ ไม่ระบุหรือบ่งบอกการรับประกัน การรับรอง หรือสิทธิ์ในการรับบริการใด ๆ และไม่ถือเป็นคำแนะนำทางกฎหมาย ข้อกำหนดของการประเมินหรือการสมัครสมาชิกของคุณ รวมถึงว่าการแสดงแบรนด์ใดมีผลและเป็นเวลานานเท่าใด ถูกกำหนดโดยข้อตกลงสิทธิ์ใช้งานของคุณเท่านั้น ให้ปรึกษาข้อตกลงนั้นหรือติดต่อฝ่ายขาย