Redaction

Redaction

דף זה מתאר הסרת תוכן באופן קבוע מדף PDF. Aspose.PDF FOSS עבור TypeScript מציע שני זרמי עבודה של הסתרה: זרם דו-שלבי של סימון-לאחר-יישום שאתה סוקר לפני המחויבות, וזרם מיידי של קריאה אחת. שניהם זמינים ב-Page עבור דף יחיד וב-Document עבור המסמך כולו.


סימון ויישום הסתרות

Page.AddRedact() מסמן אזור מלבני עם אנוטציה /Redact — התוכן מתחתיו נשאר ללא שינוי וניתן עדיין להעתקה. שום דבר אינו מוסר בפועל עד ש-Page.ApplyRedactions() פועל: הוא משכתב בצורה הרסנית את זרם התוכן עבור כל סימון /Redact על הדף, מצייר את שכבת העל של כל סימון (המילוי /IC שלו ו-/OverlayText), מסיר את הסימונים, ומחזיר את מספר ההסתרות שהוחלו. סימונים שנוספו לאחר שהקריאה ל-ApplyRedactions() בוצעה נשארים ללא יישום.

page.AddRedact({
  rect: [220, 550, 460, 566],
  fill: [0, 0, 0],
  overlayText: '[REDACTED]',
  align: 'center',
  fontSize: 9,
  textColor: [1, 1, 1],
});

const applied = page.ApplyRedactions();
console.log('Redactions applied:', applied);

הסתרה מיידית

Page.Redact() ו-Page.RedactText() משלבנים סימון ויישום בקריאה אחת: הם באמת מסירים טקסט ותמונות מכוסות, מסלקים משאבים שההסרה משאירה יתומים, ומציירים קופסת סימון אטומה על כל אזור — ללא שלב ApplyRedactions() נפרד ושום דבר אינו נשאר לסקירה תחילה. Page.Redact() מקבל רשימה מפורשת של אזורים Rect; Page.RedactText() מוצא ומסיר כל מופע של מחרוזת חיפוש או RegExp, באותה צורה שבה Page.SearchAnnotationText() מחפש. שניהם מקבלים אובייקט RedactOptions השולט ב-color של הסמן, האם ל-scrubMetadata, והאם ל-keepAnnotations שמתחילים על אזור מוסתר.

מכיוון שהם מסירים תוכן מיידית ללא שלב סקירה, עדיף להשתמש ב-AddRedact() + ApplyRedactions() כאשר סימון צריך להיות ניתנת לבחינה לפני המחויבות, ו-Redact() / RedactText() כאשר האזורים או מונחי החיפוש כבר ידועים כבטוחים להסרה.


הסתרת מסמך שלם

אותן שתי זרימות עבודה קיימות ב-Document, המופעלות על כל העמודים בבת אחת: Document.MarkRedactText() מסמנת כל מופע של מונח חיפוש בכל העמודים, Document.ApplyRedactions() מיישמת כל סימון במסמך, ו-Document.Redact() / Document.RedactText() מסתרות אזורים של עמוד יחיד או מונח חיפוש לכל המסמך מיידית, ומשקפות את המקבילים שלהם ב-Page.


טיפים ושיטות מומלצות

  • השתמש ב-AddRedact() + ApplyRedactions() כאשר הסתרה צריכה להיות ניתנת לבחינה לפני שהיא נכנסת לתוקף; השתמש ב-Redact() / RedactText() כאשר האזורים כבר אושרו כבטוחים להסרה מיידית.
  • הוסף כל סימון AddRedact() עבור דף לפני קריאת ApplyRedactions() — סימונים שמתווספים לאחר מכן אינם נכללים באותה קריאה ונשארים לא מוחלים.
  • עבור את scrubMetadata: true ב-RedactOptions / ApplyRedactionsOptions כאשר התוכן המוסתר עשוי גם להופיע במטא-דאטה של המסמך (/Info או XMP).
  • RedactText() ו-MarkRedactText() מחפשים באותם כללי התאמה כמו SearchAnnotationText() / Search, ולכן מחרוזת חיפוש שלא תתאים שם תיכשל גם בהסתרה.

בעיות נפוצות

בעיהסיבהתיקון
סימן מחיקה אינו משפיעPage.ApplyRedactions() מעולם לא נקראקרא ל-Page.AddRedact() עבור כל סימן תחילה, ואז קרא ל-Page.ApplyRedactions() פעם אחת
התוכן עדיין ניתן לשחזור לאחר סימןהסימן השתמש ב-AddRedact() (סימון-בלבד) ללא קריאה ל-ApplyRedactions() אחריההפעל ApplyRedactions(), או השתמש ב-Redact() / RedactText() להסרת קריאה אחת
טקסט מוסתר חוזר במטא-דאטה של המסמך המופקscrubMetadata לא הוגדרהעבר את { scrubMetadata: true } באובייקט האפשרויות
ApplyRedactions() מחזיר 0לא היו סימני /Redact בעמוד כאשר הוא נקראאשר ש-AddRedact() (או MarkRedactText()) רץ ראשון ומכוון לאותו דף

FAQ

מה ההבדל בין AddRedact ל-Redact?

AddRedact() מסמן רק אזור — התוכן עדיין קיים וניתן להעתקה עד ש-ApplyRedactions() פועל. Redact() מסיר את התוכן באותו קריאה, ללא שלב יישום נפרד.

האם אני יכול למחוק על-ידי חיפוש טקסט במקום לציין קואורדינטות?

כן. RedactText() מוצא ומסיר מייד כל הופעה של מחרוזת חיפוש או RegExp; MarkRedactText() עושה זאת גם הוא, אך רק מסמן את ההתאמות, ומשאיר אותן לקריאה מאוחרת יותר של ApplyRedactions().

האם המחיקה פועלת על כל המסמך, או רק על דף אחד בכל פעם?

שניהם. Page.Redact() / Page.ApplyRedactions() והקבוצות שלהם פועלים על דף אחד; Document.Redact() / Document.ApplyRedactions() והקבוצות שלהם פועלים על כל הדפים.

האם ההערות הסמוכות לאזור שנמחק מוסרות גם הן?

רק אם תתן להם להיות. העבר את keepAnnotations: true באובייקט האפשרויות כדי לשמר את ההערות שחופפות אזור מושמט במקום להסיר אותן יחד איתו.


API Reference סיכום

מחלקה/מתודהתיאור
Page.AddRedact()סמן אזור מלבני עם הערת /Redact, מבלי להסיר את התוכן עדיין
Page.ApplyRedactions()הסר באופן הרסני כל אזור מסומן בדף והחזר את הספירה המוחלת
Page.Redact()הסר מיידית תוכן באזורים הנתונים, ללא שלב יישום נפרד
Page.RedactText()מצא והסתר מיידית כל הופעה של מחרוזת חיפוש או RegExp
Page.MarkRedactText()מצא וסמן (בלי להחיל) כל מופע של מחרוזת חיפוש או RegExp
Document.ApplyRedactions()החל כל סימון /Redact על כל המסמך
Document.Redact() / Document.RedactText()הסתר מייד אזורים בעמוד אחד, או מונח חיפוש בכל העמודים
Document.MarkRedactText()סמן כל מופע של מונח חיפוש בכל העמודים

ראה גם

 עברית