andre65 Posted November 16, 2022 Posted November 16, 2022 Hallo allemaal, Ik krijg veel PDF's binnen in mijn applicatie en daar doe ik wat mee. Het probleem wat ik heb is dat er wel eens een beveiligde pdf tussen zit. Er zit een wachtwoord op om te openen en/of te wijzigen. Het proces stopt dan en moet de pdf verwijderd worden. Ik zoek iets wat kan zien of een PDF beveiligd is? Iemand een oplossing hiervoor!! Groet, André Quote
0 Infomatics Posted November 16, 2022 Posted November 16, 2022 met Base64Decode (Base64Encode ( bestand::pdf ) ) kun je de inhoud van de pdf opvragen. Ik heb een klein testje gedaan en zag in de laatste paar regels van de beveiligde pdf de tekst Encrypt staan trailer << /Size 17 /Root 12 0 R /Encrypt 16 0 R /Info 15 0 R /ID [ <6f24d8321c5786a1b4ed4eb76e6e4c21> <6f24d8321c5786a1b4ed4eb76e6e4c21> ] >> startxref 7091 %%EOF in de onbeveiligde versie stond dat niet: trailer << /Size 16 /Root 12 0 R /Info 15 0 R /ID [ <00701c99d317cba494942492ded7684e> <00701c99d317cba494942492ded7684e> ] >> startxref 6440 %%EOF Quote
0 andre65 Posted November 16, 2022 Author Posted November 16, 2022 Wauw, Infomatics. Werkt als een dolle Eerste testjes die ik heb gedaan zien er goed uit. Met patterncount kan ik zien of het encrypt is, zonder de base64 op te slaan. Morgen maar een performance testje doen met meerdere bestanden Quote
0 Infomatics Posted November 17, 2022 Posted November 17, 2022 Ik zou position gebruiken, dat is wat sneller, en alleen over de laatste x tekens van de tekst om te voorkomen dat ‘Encrypt’ gevonden wordt ergens in de tekst. position ( right ( Base64Decode (Base64Encode ( bestand::pdf ) ) ; x ) ; “Encrypt” ; 1 ; 1 ) Quote
0 bigbadwolf Posted November 17, 2022 Posted November 17, 2022 Misschien moet je wel rekening houden met deze bug: https://community.claris.com/en/s/question/0D53w00005jgQVxCAM/catastrophic-memory-allocation-issue-with-substring-functions-in-all-versions-of-fm-since-130 Let vooral op de truc om de bug te omzeilen… Quote
0 andre65 Posted November 18, 2022 Author Posted November 18, 2022 Op 17-11-2022 om 11:41, bigbadwolf zei: Misschien moet je wel rekening houden met deze bug: https://community.claris.com/en/s/question/0D53w00005jgQVxCAM/catastrophic-memory-allocation-issue-with-substring-functions-in-all-versions-of-fm-since-130 Let vooral op de truc om de bug te omzeilen… Zo dat scheelt wel even. Truc is iets om in het achterhoofd te houden. Kijk nooit zo naar het geheugen o.i.d. , maar is iets wat ik vaker zal gaan doen. Mijn oplossing : PatternCount ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; "/Encrypt" ) Werkt perfect en geeft ook verhoogd geheugen gebruik. Quote
0 andre65 Posted November 21, 2022 Author Posted November 21, 2022 Mijn oplossing : PatternCount ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; "/Encrypt" ) Werkt perfect en geeft ook verhoogd geheugen gebruik. Oops bedoel -> Werkt perfect en geeft ook -GEEN- verhoogd geheugen gebruik. Quote
0 bigbadwolf Posted November 21, 2022 Posted November 21, 2022 45 minutes ago, andre65 said: Mijn oplossing : PatternCount ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; "/Encrypt" ) En dan hopen dat iemand dit niet in de tekst gebruikt, want dan krijg je ook een positief resultaat… ;o) Quote
0 Infomatics Posted November 21, 2022 Posted November 21, 2022 dat zou je dan kunnen afvangen door alleen in het laatste deel van de pdf te zoeken: PatternCount ( right ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; 170 ) ; "/Encrypt" ) Quote
0 bigbadwolf Posted November 21, 2022 Posted November 21, 2022 4 hours ago, Infomatics said: dat zou je dan kunnen afvangen door alleen in het laatste deel van de pdf te zoeken: PatternCount ( right ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; 170 ) ; "/Encrypt" ) Mogelijk dat hij dan in de problemen kan komen met het geheugen (zie mij linkje naar de bug). Quote
0 menno Posted November 21, 2022 Posted November 21, 2022 46 minuten geleden, bigbadwolf zei: Mogelijk dat hij dan in de problemen kan komen met het geheugen (zie mij linkje naar de bug). Ik denk dat die situatie alleen optreedt bij het maken van een variable met het resultaat van left/right en dan is de (zeer simpele) oplossing ook door Alex aangedragen: PatternCount ( "" & right ( Base64Decode ( Base64Encode ( DATA::pdf_container ) ) ; 170 ) ; "/Encrypt" ) En dan pakt de functie in dit geval alleen de benodigde 170 bytes ipv de grootte van de pdf Quote
0 andre65 Posted November 22, 2022 Author Posted November 22, 2022 Top. Het wordt steeds mooier en sneller. Dank voor al jullie input. Kom volgende ook nog tegen om mee te nemen in de berekening. (of is het handiger om er een eigen functie van te maken? is dat sneller) "Berichtbody is niet conform schema in sectormodel" is ook een resultaat die ik terug krijg Is overigens als pdf niet te openen, maar wat het wel is? Kom ook files tegen die men een extentie .pdf hebben gegeven ( digibeten ) Of een resultaat ? die dan wel weer te openen (is pdf) Quote
Question
andre65
Hallo allemaal,
Ik krijg veel PDF's binnen in mijn applicatie en daar doe ik wat mee.
Het probleem wat ik heb is dat er wel eens een beveiligde pdf tussen zit.
Er zit een wachtwoord op om te openen en/of te wijzigen.
Het proces stopt dan en moet de pdf verwijderd worden.
Ik zoek iets wat kan zien of een PDF beveiligd is?
Iemand een oplossing hiervoor!!
Groet,
André
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.