Redaction

Redaction

Αυτή η σελίδα καλύπτει τη μόνιμη αφαίρεση περιεχομένου από μια σελίδα PDF. Aspose.PDF FOSS for 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() αφαιρεί το περιεχόμενο στην ίδια κλήση, χωρίς ξεχωριστό βήμα εφαρμογής.

Μπορώ να κάνω redaction αναζητώντας κείμενο αντί να καθορίζω συντεταγμένες;

Ναι. Το RedactText() βρίσκει και αμέσως κάνει redaction σε κάθε εμφάνιση μιας συμβολοσειράς αναζήτησης ή του RegExp; Το MarkRedactText() κάνει το ίδιο αλλά μόνο σημειώνει τις αντιστοιχίες, αφήνοντάς τες για μια μεταγενέστερη κλήση του ApplyRedactions().

Λειτουργεί το redaction σε ολόκληρο το έγγραφο ή μόνο σε μία σελίδα τη φορά;

Και τα δύο. Τα Page.Redact() / Page.ApplyRedactions() και τα αδελφά τους λειτουργούν σε μία σελίδα· τα Document.Redact() / Document.ApplyRedactions() και τα αδελφά τους λειτουργούν σε όλες τις σελίδες.

Αφαιρούνται επίσης οι σημειώσεις κοντά σε μια redacted περιοχή;

Μόνο αν τα αφήσετε έτσι. Περάστε το 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()Σημειώστε κάθε εμφάνιση ενός όρου αναζήτησης σε όλες τις σελίδες

Δείτε επίσης

 Ελληνικά