1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
let pattern2 = "[a-zA-Z0-9._%+-]+[a-zA-Z0-9._%+-]+@[A-z]+[a-zA-Z0-9._%+-]+[a-zA-Z]";
await search_redact(pattern2);
const pattern3 = /\b(?:[A-Z]{2}[0-9]{6})\b/g
await search_redact(pattern3 );
function search_redact(pattern) {
const main = async() => {
try {
const doc = await PDFNet.PDFDoc.createFromUFilePath(pdffile);
doc.initSecurityHandler();
doc.lock();
const txtSearch = await PDFNet.TextSearch.create();
let mode = (PDFNet.TextSearch.Mode.e_whole_word | PDFNet.TextSearch.Mode.e_highlight) + PDFNet.TextSearch.Mode.e_reg_expression;
txtSearch.begin(doc, pattern, mode);
let result = await txtSearch.run();
while (true) {
if (result.code === PDFNet.TextSearch.ResultCode.e_found) {
let hlts = result.highlights;
hlts.begin(doc);
while ((await hlts.hasNext())) {
const quadArr = await hlts.getCurrentQuads();
for (let i = 0; i < quadArr.length; ++i) {
//Coordonnée du mot trouvé dans le pdf
const currQuad = quadArr[i];
const x1 = Math.min(Math.min(Math.min(currQuad.p1x, currQuad.p2x), currQuad.p3x), currQuad.p4x);
const x2 = Math.max(Math.max(Math.max(currQuad.p1x, currQuad.p2x), currQuad.p3x), currQuad.p4x);
const y1 = Math.min(Math.min(Math.min(currQuad.p1y, currQuad.p2y), currQuad.p3y), currQuad.p4y);
const y2 = Math.max(Math.max(Math.max(currQuad.p1y, currQuad.p2y), currQuad.p3y), currQuad.p4y);
redact_create(x1, y1, x2, y2, result.page_num); //Mettre un redact dans le coordonnée designé
button_create(x1, y1, x2, y2, result.page_num); //Mettre un masque clickable dans le coordonnée designé
break;
}
hlts.next();
break;
}
while (await hlts.hasNext()) {
await hlts.next();
}
} else if (result.code === PDFNet.TextSearch.ResultCode.e_page) {
////////////////////////////////////////
} else if (result.code === PDFNet.TextSearch.ResultCode.e_done) {
///////////////////////////////////////
break;
}
result = await txtSearch.run();
}
} catch (err) {
console.log(err);
} |
Partager