Hogyan takarjuk el a PDF tartalmat TypeScriptben

Hogyan takarjuk el a PDF tartalmat TypeScriptben

Ez az útmutató bemutatja, hogyan lehet PDF tartalmat redaktálni a Aspose.PDF FOSS segítségével TypeScript számára. A Page.AddRedact() egy területet jelöl; a Page.ApplyRedactions() destruktívan felülírja a tartalmi adatfolyamot, így a megjelölt területek alatti glifek eltűnnek. A nem alkalmazott jelölések egyszerű, másolható annotációként maradnak. Node.js 22 vagy újabb verzió szükséges.

Lépésről lépésre útmutató

1. lépés: A csomag telepítése

git clone https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-TypeScript.git
cd Aspose.PDF-FOSS-for-TypeScript
npm install
npm run build

Ellenőrizd a telepítést úgy, hogy importálod a Document osztályt egy új TypeScript fájlba — ennek a sornak hiba nélkül kell feloldódnia, miután a csomag telepítve van:

import { Document } from '@asposefoss/pdf';

2. lépés: A szükséges osztályok importálása

Importálja a(z) Document elemet a fájl megnyitásához; a(z) AddRedact() és a(z) ApplyRedactions() közvetlenül a visszaadott Page példányokon kerülnek meghívásra:

import { Document } from '@asposefoss/pdf';

3. lépés: Terület kijelölése a redakcióhoz

Page.AddRedact(opts) egy RedactAnnotation-t rajzol rect fölé. fill beállítja a régióra felvitt színt, miután alkalmazva lett, és a(z) overlayText (a(z) align, fontSize, textColor használatával) kiír egy helyettesítő címkét, például [REDACTED]:

const doc = Document.OpenFile('memo.pdf');
const page = doc.Pages[0];

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

4. lépés: Redakciók alkalmazása

Page.ApplyRedactions() destruktívan felülírja a tartalomfolyamot – az oldalon megjelölt minden RedactAnnotation belsejében lévő glyphok végleg eltűnnek, és a már alkalmazott jelölések eltávolításra kerülnek. Az e hívás után hozzáadott jelölések nem kerülnek alkalmazásra: az alattuk lévő érték továbbra is olvasható és másolható marad:

page.ApplyRedactions();
doc.WriteTo('memo-redacted.pdf');

Gyakori problémák és megoldások

A szerkesztési jel megjeleníti a fekete dobozt, de az alatta lévő szöveg továbbra is másolható. Page.ApplyRedactions() soha nem hívták (vagy a jel hozzáadása előtt hívták). Jelölés ezzel a AddRedact() magában csak egy annotációt rajzol a régió fölé — az alatta lévő tartalom csak egyszer kerül megsemmisítésre ApplyRedactions() fut.

ApplyRedactions() eltávolított tartalom a jel rect nem fedett le. rect az a pontos régió, amely felül van írva — a szöveg vagy képek, amelyek csak részben fedik át, a határon még mindig részlegesen megsemmisülhetnek. Méretezd a jeleket bőkezűen a cél tartalom körül.

A keresési eredményeket nem lehet közvetlenül átadni a Page.AddRedact(). Találat innen Page.SearchAnnotationText() annotációs metaadatokat hordoz, nem oldalgeometriát — nem ugyanaz a forma, mint a rect an AddRedact() a jelölés elvárja. Page.MarkRedactText(find, opts) and Page.RedactText(find, opts) a szövegkereséses redigálás belépési pontjai, és mindkettő elérhető a Document szinten, hogy egy hívással minden oldalt bejárjunk.

A redigálás váratlanul túlélja a titkosítást. A redigálás és a titkosítás független műveletek — alkalmazza a redigálásokat mentés előtt a encrypt opciókkal, ha a cél egyszerre a tartalom eltávolítása és a megmaradt anyag hozzáférésének korlátozása; a másik sorrend alkalmazása nem vonja vissza a már titkosított mentést.

Gyakran Ismételt Kérdések

Mi a különbség a jelzés és a redigálás alkalmazása között?

AddRedact() csak egy annotációt hoz létre, amely leírja, hol van tervezve a redigálás — a lefedett tartalom érintetlen marad, és továbbra is kiválasztható/lemásolható, amíg a ApplyRedactions() le nem fut, és destruktívan újraírja az oldalt.

Redigálhatok szöveg keresésével a téglalap meghatározása helyett?

Igen — a Page.MarkRedactText(find, opts) megjelöli a find minden egyezését a későbbi alkalmazáshoz, és a Page.RedactText(find, opts) egy hívásban megjelöli és alkalmazza. Mindkettő elérhető a Document szinten is, hogy bejárja az egész dokumentumot.

A ApplyRedactions() befolyásolja-e a pirosítási jeleken kívül a többi annotációt?

Nem — átírja a tartalmi adatfolyamot a saját RedactAnnotation jelzései alatt; az oldalon lévő egyéb annotációtípusok nem érintettek ezzel a hívással.

Visszafordítható a pirosítás?

Nem — a ApplyRedactions() destruktív. Tartsa meg az eredeti fájlt, ha a nem pirosított tartalmat később vissza kell állítani.

Lásd még:

 Magyar