{"id":7205,"date":"2025-01-14T19:31:39","date_gmt":"2025-01-14T19:31:39","guid":{"rendered":"https:\/\/howtogeek.blog\/da\/?p=7205"},"modified":"2025-01-14T19:31:39","modified_gmt":"2025-01-14T19:31:39","slug":"exploring-doom-and-tetris-embedded-within-a-pdf-document","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/da\/exploring-doom-and-tetris-embedded-within-a-pdf-document\/","title":{"rendered":"Udforsk DOOM og Tetris integreret i et PDF-dokument"},"content":{"rendered":"<h2>Opdag den sp\u00e6ndende verden af \u200b\u200bPDF-spil: Spil Tetris og DOOM Inside PDF-filer!<\/h2>\n<p>Mange mennesker opfatter PDF-filer som blot statiske filer til visning af tekst og billeder, men de seneste fremskridt har forvandlet dem til interaktive muligheder for spil. Udforsk, hvordan klassiske spil som Tetris og DOOM nu kan spilles i PDF-dokumenter, takket v\u00e6re innovativ PDF-scripting og browserteknologi.<\/p>\n<h2>K\u00f8re Tetris i din browser med PDF<\/h2>\n<p>Thomas Rinsma, en dedikeret sikkerhedsanalytiker og udvikler, har v\u00e6ret banebrydende for ideen om en fuldt funktionel version af Tetris, der k\u00f8rer inde i en PDF-fil. Denne unikke oplevelse er tilg\u00e6ngelig i popul\u00e6re webbrowsere som Google Chrome (og andre Chromium-baserede browsere) samt Mozilla Firefox. Nysgerrig? Pr\u00f8v det med <a href=\"https:\/\/th0mas.nl\/downloads\/pdftris.pdf\" target=\"_blank\">Rinsmas PDF-fil<\/a> .<\/p>\n<figure class=\"wp-block-image\"><img alt=\"Sk\u00e6rmbillede af Tetris i en PDF\" class=\"wp-image\" decoding=\"async\" height=\"905\" loading=\"lazy\" src=\"https:\/\/cdn.howtogeek.blog\/wp-content\/uploads\/2025\/01\/clipboard-jan-14-2025-at-2-24-pm.webp\" title=\"Sk\u00e6rmbillede af Tetris i en PDF\" width=\"1245\"\/><figcaption>Et sp\u00e6ndende sk\u00e6rmbillede, der viser Tetris, der k\u00f8rer i en PDF.<\/figcaption><\/figure>\n<p>I sit informative blogindl\u00e6g uddyber Rinsma de ofte oversete muligheder ved PDF-filer i moderne milj\u00f8er. Selvom vi er vant til at se PDF&#8217;er som skrivebeskyttede dokumenter, er der et betydeligt scriptingpotentiale i dem &#8211; is\u00e6r n\u00e5r du bruger PDFium (brugt af Chromium) eller PDF.js (til Firefox).<\/p>\n<h3>Forst\u00e5else af PDF-scriptfunktioner<\/h3>\n<ul>\n<li><strong>Dynamisk indhold:<\/strong> PDF&#8217;er kan rumme formularelementer, knapper og afkrydsningsfelter, hvilket giver mulighed for interaktive oplevelser.<\/li>\n<li><strong>JavaScript-integration:<\/strong> Ved at inkorporere JavaScript-handlere kan h\u00e6ndelser udl\u00f8ses fra brugerinteraktioner med disse elementer, og dermed \u00e6ndre PDF-indholdet dynamisk.<\/li>\n<li><strong>Gitterbaseret design:<\/strong> Den varierede funktionalitet fungerer som et spilgitter, hvor knapper fungerer som &#8216;pixels&#8217;, som spillere kan kontrollere, enten ved at klikke eller bruge tastaturinput i tekstfelter.<\/li>\n<\/ul>\n<h2>Bring DOOM til live i en PDF<\/h2>\n<p>Rinsma stoppede ikke med Tetris; han p\u00e5tog sig den ambiti\u00f8se opgave at overf\u00f8re det legendariske f\u00f8rstepersons skydespil DOOM til et PDF-format. Dette projekt bygger p\u00e5 <a href=\"https:\/\/github.com\/wojciech-graj\/doom-ascii\" target=\"_blank\">DOOM-ASCII-<\/a> initiativet, som g\u00f8r det muligt for DOOM at v\u00e6re spilbar i udelukkende tekstbaserede milj\u00f8er ved hj\u00e6lp af ASCII-tegn. Rinsma brugte WebAssembly sammen med <a href=\"https:\/\/emscripten.org\/\" target=\"_blank\">Emscripten<\/a> til at kompilere dette for browserkompatibilitet.<\/p>\n<p>Pr\u00f8v selv DOOM PDF&#8217;en ved at bes\u00f8ge <a href=\"https:\/\/doompdf.pages.dev\/doom.pdf\" target=\"_blank\">DoomPDF<\/a> . Fra nu af fungerer det problemfrit p\u00e5 Chrome- og Chromium-baserede browsere.<\/p>\n<figure class=\"wp-block-image\"><figcaption>Et intenst \u00f8jeblik fanget fra DOOM, der k\u00f8rer inde i en PDF.<\/figcaption><\/figure>\n<h3>Udfordringer og begr\u00e6nsninger ved PDF-spil<\/h3>\n<p>Selvom DOOM-porten giver et sp\u00e6ndende indblik i potentialet ved spil i PDF&#8217;er, er der visse begr\u00e6nsninger til stede. For eksempel k\u00f8rer spillet i \u00f8jeblikket med monokrom grafik i stedet for at inkorporere de farverige afbildninger, der findes i originale versioner. Som Rinsma p\u00e5pegede, &#8220;Selv for en GameBoy-sk\u00e6rm (160x144x3) inkluderer dette n\u00e6sten 70.000 felter, hvilket reducerer ydeevnen betydeligt.&#8221;<\/p>\n<h2>Udforsk yderligere med GitHub-ressourcer<\/h2>\n<p>For dem, der er interesseret i den tekniske side, har Rinsma gjort kildekoden til b\u00e5de <a href=\"https:\/\/github.com\/ThomasRinsma\/pdftris\" target=\"_blank\">PDF Tetris<\/a> og <a href=\"https:\/\/github.com\/ThomasRinsma\/pdfdoom\" target=\"_blank\">DoomPDF<\/a> tilg\u00e6ngelig p\u00e5 GitHub. Denne viden vil v\u00e6re uvurderlig for udviklere, der \u00f8nsker at lave interaktive PDF&#8217;er.<\/p>\n<h3>Endelige tanker og fremtid for PDF-spil<\/h3>\n<p>Denne banebrydende tilgang \u00e5bner d\u00f8ren for mere komplekse PDF-spil i fremtiden. Forst\u00e5else af scriptingbegr\u00e6nsninger og -funktioner giver et lovende perspektiv for udviklere, der er interesseret i at flytte gr\u00e6nserne for traditionel PDF-anvendelse.<\/p>\n<p>Kilde: <a href=\"https:\/\/th0mas.nl\/2025\/01\/12\/tetris-in-a-pdf\/\" target=\"_blank\">Thomas Rinsma<\/a><\/p>\n<h2>Ofte stillede sp\u00f8rgsm\u00e5l<\/h2>\n<h3><strong>1. Er det muligt at spille disse spil p\u00e5 en hvilken som helst browser?<\/strong><\/h3>\n<p>I \u00f8jeblikket fungerer Tetris og DOOM PDF&#8217;er bedst p\u00e5 Google Chrome og andre Chromium-baserede browsere samt Mozilla Firefox. Andre browsere underst\u00f8tter muligvis ikke de n\u00f8dvendige scriptfunktioner.<\/p>\n<h3><strong>2. Er der s\u00e6rlige krav til at k\u00f8re PDF-spil?<\/strong><\/h3>\n<p>Ingen speciel software er n\u00f8dvendig udover en moderne webbrowser, der underst\u00f8tter PDF-scripting. Bare s\u00f8rg for, at du har den nyeste version af din browser installeret for den bedste oplevelse.<\/p>\n<h3><strong>3. Kan jeg \u00e6ndre kildekoden til mine egne projekter?<\/strong><\/h3>\n<p>Absolut! Kildekoden til b\u00e5de Tetris og DOOM PDF-tilpasninger er tilg\u00e6ngelig p\u00e5 GitHub. Du kan bruge det som grundlag for dine egne projekter eller videreudvikle disse spil.<\/p>\n<p><a class=\"xiaomi\" href=\"https:\/\/www.howtogeek.com\/doom-tetris-pdf-ports\/\" rel=\"noopener noreferrer nofollow\" target=\"_blank\">Kilde og billeder<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Opdag den sp\u00e6ndende verden af \u200b\u200bPDF-spil: Spil Tetris og DOOM Inside PDF-filer! Mange mennesker opfatter PDF-filer som blot statiske filer til visning af tekst og billeder, men de seneste fremskridt har forvandlet dem til interaktive muligheder for spil. Udforsk, hvordan klassiske spil som Tetris og DOOM nu kan spilles i PDF-dokumenter, takket v\u00e6re innovativ PDF-scripting [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[149,862,176,9],"class_list":["post-7205","post","type-post","status-publish","format-standard","hentry","category-how-to","tag-pdf","tag-video-games","tag-web","tag-windows"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/7205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/comments?post=7205"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/7205\/revisions"}],"predecessor-version":[{"id":7206,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/7205\/revisions\/7206"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/media?parent=7205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/categories?post=7205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/tags?post=7205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}