Open Lemmont opened 11 months ago
Hi @Lemmont , mooi helder veraahl joh. Je bent toch echt wel een stuk verder. Hier eerst wat korte gedachten
Hoi @maartenmarx,
Ten eerste bedankt voor uw reactie en input op mijn update. Bedankt specifiek voor de beoordeling van mijn stukjes in het scriptie document en de suggesties.
Kijk eens naar https://docs.reportlab.com/ . Ook de niet betaalde versie kan al heel veel. Ik zou eens kunnenvragen of we een tijdje ook met de betaalde mogen spelen voor niks.
Ziet er handig uit. Hiermee zou men op een makkelijke wijze een nieuwe PDF kunnen opbouwen. Ik zelf heb ervaring met webpagina/applicatie ontwikkeling en deze methode heeft ongeveer dezelfde structuur. Voor nu zou ik nog niet echt een praktische toepassing kunnen bedenken voor de huidige staat van mijn project. Echter, afhankelijk van het verdere verloop zou dit wel van toepassing kunnen zijn. De functionaliteit zou dingen toelaten waarmee ik in combinatie met PyMuPDF een nieuwe PDF zou kunnen creëren en iets makkelijker dingen zou kunnen toevoegen of verwijderen, voornamelijk omdat de methode waarschijnlijk ook al meerdere soorten PDF documenten ondersteund. Ik hou het in mijn achterhoofd indien ik tegen problemen aanloop.
2. Dat semantische ivullen vin dik ontzettend leuk en waardevol. Als jij dat ook vind zou ik me liever hierop richten dan op de Maxwell Bland achtige security en glyphs en weet ik wat.
Ja persoonlijk heeft dit ook mijn voorkeur om uiteindelijk hierop meer te focussen. Het belangrijkste qua security om het Maxwell Bland verhaal op te lossen is uiteindelijk toch de daadwerkelijke tekst te verwijderen uit het document, de ruimte die het achterlaat weg te laten of op te vullen met een fixed-sized stukje tekst en tenslotte eventueel nog contextuele positie informatie aan te passen.
- Ik kan je ook bewijs aanleveren over de "slechtheid" van de NL PDFs (OCR en SCAN).
Heel graag! Dat zal ik dan kunnen gebruiken om de context van de huidige staat van toegankelijkheid te versterken, maar ook het argument waarom direct weglakken in een PDF beter is voor dus ook die toegankelijkheid.
Zoals ik boven zei zou ik eerder focussen op toegankelijkheid dan op "super-veiligheid"
Daar zat ik inderdaad ook al aan te denken. Daar ga ik meer nadruk op leggen!
- Die "semantische"/accesibility richting biedt ook meer perspectief op een succesvolle indiening dan de meer harde "security" kant, ook een wereled wara ik veel minder in zit.
Ik zal het meenemen in het verdere process!
Leuk @Lemmont ! Hier zit dan zeker muziek in. Wat zijn jouw vervolgplannen voor na de scriptie? Er is misschien een mogelijkheid om hiermee door te gaan bij de KB. Zou dat wat voor je zijn? Daar kan je echt een verschil maken.
groet maarten
Hoi @maartenmarx ,
Momenteel is de planning dat ik eind januari klaar ben met dit scriptieproject (laten we er van uitgaan dat ik deze succesvol afrond) en dan dus ook met mijn bachelor. In principe heb ik dan tot de zomer nog geen verdere verplichtingen in de vorm van een studie of andere full-time bezigheid. Wellicht dat ik na de zomer een master ga doen aan de UvA, maar hierover ben ik mij nog aan het beraden. Natuurlijk heb ik wel al dingen op de planning, maar tot het heden nog niks concreets; ik hou graag mijn opties open en zoek graag naar nieuwe uitdagingen en kansen om mijn kwaliteiten en ideeën te laten floreren!
De KB staat voor de 'Koninklijke Bibliotheek' neem ik aan? Ik was daar tot op het heden nog niet bekend mee. Als u tijd heeft, zou u mij dan wat kunnen vertellen over de KB? Wellicht de relatie en ervaring die u heeft met betrekking tot dit instituut, als die er zijn.
Een eventuele mogelijkheid om hiermee verder te gaan is uiteraard erg interessant en hier zou ik zeker voor open kunnen staan na het afronden van dit project, alhoewel ik voor nu dat nog niet zeker kan zeggen.
Groet, Lennaert
OK bedankt joh @Lemmont . KB is echt een gave plek voor een informaticus. Jongen die hebben zo giga veel, ook nog heel erg ontoegankelijk. En ook heel slimme bevlogen types die daar mee bezig zijn. Dat gaat om kilometers aan boeken en weet ik wat.
Hoi @maartenmarx ! Hierbij de wekelijkse update.
Prestaties
Deze week was minder productief dan gepland, maar ik heb ondanks de beperkte tijd een aantal zaken kunnen uitwerken. Ik heb nagedacht over een mogelijk ontwerp, ben verder aan de slag gegaan met het begrijpen van PDF en heb nog wat geschreven aan concept stukjes in mijn scriptie.
De log van deze week (enigszins beperkt deze keer)
Ontwerp
Het ontwerp, alhoewel nog niet definitief, zal bestaan uit 4 onderdelen.
Het weglak proces zal bestaan uit het daadwerkelijk verwijderen van de tekst uit het pdf document d.m.v. een eigen gemaakte algoritme. Het doel is om dit algoritme automatisch naar de PDF content te laten kijken en de aangegeven stukjes daaruit te laten verwijderen. Tijdens het selectieproces wil ik ook de gebruiker laten weten of het geselecteerde stuk tekst ergens anders voorkomt en hem/haar de mogelijkheid geven om dat ook te laten verwijderen.
Tijdens het weglakken wordt de tekst verwijderd uit de PDF. Deze zal dus na het process niet meer terug te vinden zijn. Daarnaast moet ik rekening houden met eventuele informatie die achterblijft. Bijvoorbeeld over characters in het font of versiegeschiedenis. Ook positionele informatie moet weggehaald worden of aangepast. Ik voorzie dat deze laatste kwesties lastig worden.
Een wenselijke toevoeging op mijn algoritme is het invullen van de gemaakte gaten in de tekst. Het liefst wil men de semantische betekenis en context behouden in een document. Maarten Marx wordt dan bijv. Persoon a en 26 Maart 2023 wordt dan bijv. datum 1, datum 2023 of maand jaar.
Tenslotte wil ik de gebruiker de mogelijkheid geven om een goede beschrijving van het document achter te laten in de vorm van metadata, dit i.v.m. toegankelijkheid. Hopelijk lukt het mij om zelf al grotendeels die metadata automatisch in te vullen nadat andere informatie eruit is verwijderd.
Al met al een uitdagend pakket aan taken die ik hoop te voltooien. De nadruk en prioriteit ligt uiteraard bij het weglakken en selecteren van tekst. Dit is dan ook de kern en hierop zal ik mij als eerst focussen. De rest zijn 'leuke dingetjes' die eventueel later nog toegevoegd kunnen worden.
PDF documenten manipuleren
Ik heb veel vooruitgang geboekt met het werken met PDF. Twee methoden van aanpak hebben de revu gepasseerd: gebruik maken van PyMuPDF functies om tekst eerst te verwijderen uit een bounding box en daarna weer er iets in te zetten of het zelf in de PDF duiken en via daar de tekst te verwijderen. De eerste methode is makkelijker, maar geeft mij minder invloed en controle over het document. Aanpassen van tekst is lastiger. De tweede methode kost heel veel werk, maar geeft me wel die controle.
Ik ben van plan om zelf in de PDF te duiken en methodes te creëren om die PDF helemaal uit te spitten. Dit geeft mij die controle, ook om zelf posities van tekst aan te passen en (hopelijk) ook eigenschappen van fonts aan te passen. Het geeft mij ook meer flexibiliteit in het controleren van interne dingen omdat de standaard 'hogere' functies van PyMuPDF niet altijd even accuraat zijn. Ik voorzie wel een nadeel en dat is dat de tijd maar beperkt is en dat ik dus wellicht niet alle mogelijke manieren van PDF constructies kan ondersteunen. Mijn focus ligt, zoals eerder besproken, bij Word documenten. Echter zijn er tussen Word versies ook weer verschillen. Ik zal mij beperken tot simpele documenten en gaandeweg uitbreiden.
Deze week heb ik voornamelijk gespeeld met hoe ik de interne representatie van documenten kan lezen en zo kan opslaan in een datastructuur dat ik makkelijk toegang heb tot relevante delen van de PDF en zo ook makkelijk het document kan manipuleren. Ik ben aardig op weg, maar heb nog veel te proberen en doen.
Tekst extractie geprobeerd en interpretatie geprobeerd
Scriptie
Ik heb geschreven aan related work, introduction en design. In het design kopje zal ik mijn ontwerp uitleggen en uitwerken. Hierbij komt ook een stukje 'pdf-theorie' kijken die ik aan de lezer ga uitleggen zodat men mijn algoritme beter zal kunnen begrijpen. Overleaf bestand
Wat heeft niet gewerkt?
Ik heb niet alle tijd goed kunnen besteden. Er waren wat andere dingen in mijn leven die ook een hoge prioriteit hadden.
PDF tekst eerst weghalen en dan vervangen door middel van hetzelfde embedded font. De positie bepalen waar het teruggeplaatst moet worden is lastig. Ik voorzie ook in het verdere verloop van dit project problemen met fonts die embedded zijn in de PDF; niet alle characters zitten in het PDF, enkel degene die erin staan. Wellicht dat een ander font gebruiken voor nieuwe ingevoegde tekst beter is!
Komende week
Vragen
~ Lennaert