{"id":6924,"date":"2025-01-14T19:32:02","date_gmt":"2025-01-14T19:32:02","guid":{"rendered":"https:\/\/howtogeek.blog\/lt\/?p=6924"},"modified":"2025-01-14T19:32:02","modified_gmt":"2025-01-14T19:32:02","slug":"exploring-doom-and-tetris-embedded-within-a-pdf-document","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/lt\/exploring-doom-and-tetris-embedded-within-a-pdf-document\/","title":{"rendered":"DOOM ir Tetris, \u012fterpt\u0173 \u012f PDF dokument\u0105, tyrin\u0117jimas"},"content":{"rendered":"<h2>Atraskite jaudinant\u012f PDF \u017eaidim\u0173 pasaul\u012f: \u017eaiskite Tetris ir DOOM Inside PDF!<\/h2>\n<p>Daugelis \u017emoni\u0173 PDF failus suvokia kaip tik statinius failus, skirtus tekstui ir vaizdams rodyti, ta\u010diau naujausi pasiekimai juos pavert\u0117 interaktyviais \u017eaidim\u0173 b\u016bdais. Su\u017einokite, kaip klasikinius \u017eaidimus, tokius kaip Tetris ir DOOM, dabar galima \u017eaisti PDF dokumentuose d\u0117l naujovi\u0161k\u0173 PDF scenarij\u0173 ir nar\u0161ykl\u0117s technologijos.<\/p>\n<h2>Tetris paleidimas nar\u0161ykl\u0117je su PDF<\/h2>\n<p>Thomas Rinsma, atsidav\u0119s saugumo analitikas ir k\u016br\u0117jas, suk\u016br\u0117 visi\u0161kai funkcionalios Tetris versijos, kuri veikia PDF faile, id\u0117j\u0105. \u0160i\u0105 unikali\u0105 patirt\u012f galima pasiekti naudojant populiarias \u017einiatinklio nar\u0161ykles, pvz., \u201eGoogle Chrome\u201c (ir kitas \u201eChromium\u201c pagr\u012fstas nar\u0161ykles), taip pat \u201eMozilla Firefox\u201c. \u012edomu? I\u0161bandykite naudodami <a href=\"https:\/\/th0mas.nl\/downloads\/pdftris.pdf\" target=\"_blank\">Rinsmos PDF fail\u0105<\/a> .<\/p>\n<figure class=\"wp-block-image\"><img alt=\"Tetris ekrano kopija PDF formatu\" 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=\"Tetris ekrano kopija PDF formatu\" width=\"1245\"\/><figcaption>Jaudinanti ekrano kopija, kurioje PDF formatu rodomas Tetris.<\/figcaption><\/figure>\n<p>Savo informatyviame tinklara\u0161\u010dio \u012fra\u0161e Rinsma i\u0161samiai apra\u0161o da\u017enai pamir\u0161tamas PDF galimybes \u0161iuolaikin\u0117je aplinkoje. Nors esame \u012fprat\u0119 \u017ei\u016br\u0117ti PDF failus kaip tik skaitomus dokumentus, juose yra daug scenarij\u0173, ypa\u010d naudojant PDFium (naudojama Chromium) arba PDF.js (skirta Firefox).<\/p>\n<h3>Suprasti PDF scenarij\u0173 sudarymo galimybes<\/h3>\n<ul>\n<li><strong>Dinaminis turinys:<\/strong> PDF rinkmenose gali b\u016bti form\u0173 element\u0173, mygtuk\u0173 ir \u017eymim\u0173j\u0173 laukeli\u0173, tod\u0117l galite naudotis interaktyviomis funkcijomis.<\/li>\n<li><strong>\u201eJavaScript\u201c integravimas:<\/strong> \u012ftraukus \u201eJavaScript\u201c tvarkykles, \u012fvykius galima suaktyvinti d\u0117l vartotojo s\u0105veikos su \u0161iais elementais, taip dinami\u0161kai modifikuojant PDF turin\u012f.<\/li>\n<li><strong>Tinkleliu pagr\u012fstas dizainas:<\/strong> \u012fvairios funkcijos veikia kaip \u017eaidimo tinklelis, kuriame mygtukai yra \u201epikseliai\u201c, kuriuos \u017eaid\u0117jai gali valdyti spustel\u0117dami arba naudodami klaviat\u016bros \u012fvestis teksto laukuose.<\/li>\n<\/ul>\n<h2>DOOM atgaivinimas PDF formatu<\/h2>\n<p>Rinsma nesustojo su Tetris; jis \u0117m\u0117si ambicingos u\u017eduoties perkelti legendin\u012f pirmojo asmens \u0161audykl\u0117s \u017eaidim\u0105 DOOM \u012f PDF format\u0105. \u0160is projektas remiasi <a href=\"https:\/\/github.com\/wojciech-graj\/doom-ascii\" target=\"_blank\">DOOM-ASCII<\/a> iniciatyva, kuri leid\u017eia DOOM \u017eaisti tik teksto aplinkoje naudojant ASCII simbolius. \u201eRinsma\u201c naudojo \u201eWebAssembly\u201c kartu su <a href=\"https:\/\/emscripten.org\/\" target=\"_blank\">\u201eEmscripten\u201c,<\/a> kad sukurt\u0173 tai nar\u0161ykl\u0117s suderinamumui.<\/p>\n<p>I\u0161bandykite DOOM PDF patys apsilank\u0119 <a href=\"https:\/\/doompdf.pages.dev\/doom.pdf\" target=\"_blank\">DoomPDF<\/a> . Nuo \u0161iol jis skland\u017eiai veikia \u201eChrome\u201c ir \u201eChromium\u201c pagr\u012fstose nar\u0161ykl\u0117se.<\/p>\n<figure class=\"wp-block-image\"><figcaption>Intensyvi akimirka u\u017efiksuota i\u0161 DOOM, veikian\u010dio PDF faile.<\/figcaption><\/figure>\n<h3>PDF \u017eaidim\u0173 i\u0161\u0161\u016bkiai ir apribojimai<\/h3>\n<p>Nors DOOM prievadas suteikia intriguojan\u010di\u0105 \u017evilgsn\u012f \u012f \u017eaidimo PDF rinkmenose galimybes, yra tam tikr\u0173 apribojim\u0173. Pavyzd\u017eiui, \u0161iuo metu \u017eaidimas veikia su nespalvota grafika, o ne \u012ftraukiant spalvingus vaizdus, \u200b\u200b\u200b\u200besan\u010dius originaliose versijose. Kaip pa\u017eym\u0117jo Rinsma, \u201enetgi \u201eGameBoy\u201c ekrane (160 x 144 x 3) tai apima beveik 70 000 lauk\u0173, o tai \u017eymiai sul\u0117tina na\u0161um\u0105.<\/p>\n<h2>Tyrin\u0117kite toliau naudodami \u201eGitHub\u201c i\u0161teklius<\/h2>\n<p>Tiems, kurie domisi technine puse, \u201eRinsma\u201c pateik\u0117 <a href=\"https:\/\/github.com\/ThomasRinsma\/pdftris\" target=\"_blank\">\u201ePDF Tetris\u201c<\/a> ir <a href=\"https:\/\/github.com\/ThomasRinsma\/pdfdoom\" target=\"_blank\">\u201eDoomPDF\u201c<\/a> \u0161altinio kod\u0105 prieinam\u0105 \u201eGitHub\u201c. \u0160ios \u017einios bus ne\u012fkainojamos k\u016br\u0117jams, norintiems kurti interaktyvius PDF failus.<\/p>\n<h3>Paskutin\u0117s mintys ir PDF \u017eaidim\u0173 ateitis<\/h3>\n<p>\u0160is novatori\u0161kas po\u017ei\u016bris atveria duris sud\u0117tingesniems PDF \u017eaidimams ateityje. Scenarij\u0173 apribojim\u0173 ir galimybi\u0173 supratimas suteikia daug \u017eadan\u010di\u0105 perspektyv\u0105 k\u016br\u0117jams, norintiems per\u017eengti tradicinio PDF naudojimo ribas.<\/p>\n<p>\u0160altinis: <a href=\"https:\/\/th0mas.nl\/2025\/01\/12\/tetris-in-a-pdf\/\" target=\"_blank\">Thomas Rinsma<\/a><\/p>\n<h2>Da\u017enai u\u017eduodami klausimai<\/h2>\n<h3><strong>1. Ar galima \u017eaisti \u0161iuos \u017eaidimus bet kurioje nar\u0161ykl\u0117je?<\/strong><\/h3>\n<p>\u0160iuo metu Tetris ir DOOM PDF failai geriausiai veikia Google Chrome ir kitose Chromium pagr\u012fstose nar\u0161ykl\u0117se, taip pat Mozilla Firefox. Kitos nar\u0161ykl\u0117s gali nepalaikyti reikaling\u0173 scenarij\u0173 funkcij\u0173.<\/p>\n<h3><strong>2. Ar yra koki\u0173 nors speciali\u0173 reikalavim\u0173 paleisti PDF \u017eaidimus?<\/strong><\/h3>\n<p>Nereikia jokios specialios programin\u0117s \u012frangos, i\u0161skyrus moderni\u0105 \u017einiatinklio nar\u0161ykl\u0119, kuri palaiko PDF scenarijus. Tiesiog \u012fsitikinkite, kad \u012fdieg\u0117te naujausi\u0105 nar\u0161ykl\u0117s versij\u0105, kad gautum\u0117te geriausi\u0105 patirt\u012f.<\/p>\n<h3><strong>3. Ar galiu pakeisti savo projekt\u0173 \u0161altinio kod\u0105?<\/strong><\/h3>\n<p>absoliu\u010diai! Tetris ir DOOM PDF adaptacij\u0173 \u0161altinio kod\u0105 galima rasti GitHub. Galite naudoti j\u012f kaip savo projekt\u0173 pagrind\u0105 arba toliau pl\u0117toti \u0161iuos \u017eaidimus.<\/p>\n<p><a class=\"xiaomi\" href=\"https:\/\/www.howtogeek.com\/doom-tetris-pdf-ports\/\" rel=\"noopener noreferrer nofollow\" target=\"_blank\">\u0160altinis ir vaizdai<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Atraskite jaudinant\u012f PDF \u017eaidim\u0173 pasaul\u012f: \u017eaiskite Tetris ir DOOM Inside PDF! Daugelis \u017emoni\u0173 PDF failus suvokia kaip tik statinius failus, skirtus tekstui ir vaizdams rodyti, ta\u010diau naujausi pasiekimai juos pavert\u0117 interaktyviais \u017eaidim\u0173 b\u016bdais. Su\u017einokite, kaip klasikinius \u017eaidimus, tokius kaip Tetris ir DOOM, dabar galima \u017eaisti PDF dokumentuose d\u0117l naujovi\u0161k\u0173 PDF scenarij\u0173 ir nar\u0161ykl\u0117s technologijos. Tetris [&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":[143,845,170,9],"class_list":["post-6924","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\/lt\/wp-json\/wp\/v2\/posts\/6924","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/comments?post=6924"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/posts\/6924\/revisions"}],"predecessor-version":[{"id":6925,"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/posts\/6924\/revisions\/6925"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/media?parent=6924"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/categories?post=6924"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/lt\/wp-json\/wp\/v2\/tags?post=6924"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}