{"id":6977,"date":"2025-01-14T19:32:21","date_gmt":"2025-01-14T19:32:21","guid":{"rendered":"https:\/\/howtogeek.blog\/lv\/?p=6977"},"modified":"2025-01-14T19:32:21","modified_gmt":"2025-01-14T19:32:21","slug":"exploring-doom-and-tetris-embedded-within-a-pdf-document","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/lv\/exploring-doom-and-tetris-embedded-within-a-pdf-document\/","title":{"rendered":"PDF dokument\u0101 iegulto DOOM un Tetris izp\u0113te"},"content":{"rendered":"<h2>Atkl\u0101jiet aizraujo\u0161o PDF sp\u0113\u013cu pasauli: sp\u0113l\u0113jiet Tetris un DOOM Inside PDF failus!<\/h2>\n<p>Daudzi cilv\u0113ki PDF failus uztver k\u0101 tikai statiskus failus teksta un att\u0113lu par\u0101d\u012b\u0161anai, ta\u010du jaun\u0101kie sasniegumi ir p\u0101rveidoju\u0161i tos par interakt\u012bviem sp\u0113\u013cu veidiem. Izp\u0113tiet, k\u0101 klasisk\u0101s sp\u0113les, piem\u0113ram, Tetris un DOOM, tagad var sp\u0113l\u0113t PDF dokumentos, pateicoties novatoriskajai PDF skriptu veido\u0161anai un p\u0101rl\u016bkprogrammas tehnolo\u0123ijai.<\/p>\n<h2>Tetris palai\u0161ana p\u0101rl\u016bkprogramm\u0101 ar PDF<\/h2>\n<p>Tomass Rinsma, \u012bpa\u0161s dro\u0161\u012bbas anal\u012bti\u0137is un izstr\u0101d\u0101t\u0101js, ir aizs\u0101cis ideju par piln\u012bb\u0101 funkcion\u0113jo\u0161u Tetris versiju, kas darbojas PDF fail\u0101. \u0160\u012b unik\u0101l\u0101 pieredze ir pieejama t\u0101d\u0101s popul\u0101r\u0101s t\u012bmek\u013ca p\u0101rl\u016bkprogramm\u0101s k\u0101 Google Chrome (un cit\u0101s p\u0101rl\u016bkprogramm\u0101s, kuru pamat\u0101 ir Chromium), k\u0101 ar\u012b Mozilla Firefox. Interesanti? Izm\u0113\u0123iniet to ar <a href=\"https:\/\/th0mas.nl\/downloads\/pdftris.pdf\" target=\"_blank\">Rinsmas PDF failu<\/a> .<\/p>\n<figure class=\"wp-block-image\"><img alt=\"Tetris ekr\u0101nuz\u0146\u0113mums PDF\u00a0fail\u0101\" 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 ekr\u0101nuz\u0146\u0113mums PDF\u00a0fail\u0101\" width=\"1245\"\/><figcaption>Aizraujo\u0161s ekr\u0101nuz\u0146\u0113mums, kur\u0101 redzams Tetris, kas darbojas PDF\u00a0fail\u0101.<\/figcaption><\/figure>\n<p>Sav\u0101 informat\u012bvaj\u0101 emu\u0101ra ierakst\u0101 Rinsma s\u012bk\u0101k izkl\u0101sta PDF iesp\u0113jas, kuras m\u016bsdienu vid\u0113 bie\u017ei tiek ignor\u0113tas. Lai gan m\u0113s esam pieradu\u0161i skat\u012bt PDF failus k\u0101 tikai las\u0101mus dokumentus, tajos past\u0101v iev\u0113rojams skript\u0113\u0161anas potenci\u0101ls, jo \u012bpa\u0161i, ja tiek izmantots PDFium (izmanto Chromium) vai PDF.js (Firefox).<\/p>\n<h3>Izpratne par PDF skript\u0113\u0161anas iesp\u0113j\u0101m<\/h3>\n<ul>\n<li><strong>Dinamiskais saturs:<\/strong> PDF\u00a0failos var ievietot veidlapas elementus, pogas un izv\u0113les r\u016bti\u0146as, t\u0101d\u0113j\u0101di nodro\u0161inot interakt\u012bvu pieredzi.<\/li>\n<li><strong>JavaScript integr\u0101cija:<\/strong> iek\u013caujot JavaScript apdarin\u0101t\u0101jus, notikumus var aktiviz\u0113t no lietot\u0101ja mijiedarb\u012bbas ar \u0161iem elementiem, t\u0101d\u0113j\u0101di dinamiski modific\u0113jot PDF saturu.<\/li>\n<li><strong>Uz re\u017e\u0123a balst\u012bts dizains:<\/strong> daudzveid\u012bg\u0101 funkcionalit\u0101te darbojas k\u0101 sp\u0113\u013cu re\u017e\u0123is, kur\u0101 pogas kalpo k\u0101 \u201cpikse\u013ci\u201d, kurus sp\u0113l\u0113t\u0101ji var kontrol\u0113t, noklik\u0161\u0137inot vai izmantojot tastat\u016bras ievades teksta laukos.<\/li>\n<\/ul>\n<h2>DOOM atdz\u012bvin\u0101\u0161ana PDF\u00a0fail\u0101<\/h2>\n<p>Rinsma neapst\u0101j\u0101s ar Tetris; vi\u0146\u0161 uz\u0146\u0113m\u0101s ambiciozo uzdevumu p\u0101rnest le\u0123end\u0101ro pirm\u0101s personas \u0161\u0101v\u0113ja sp\u0113li DOOM PDF form\u0101t\u0101. \u0160is projekts balst\u0101s uz <a href=\"https:\/\/github.com\/wojciech-graj\/doom-ascii\" target=\"_blank\">DOOM-ASCII<\/a> iniciat\u012bvu, kas \u013cauj DOOM atska\u0146ot tikai teksta vid\u0113s, izmantojot ASCII rakstz\u012bmes. Rinsma izmantoja WebAssembly kop\u0101 ar <a href=\"https:\/\/emscripten.org\/\" target=\"_blank\">Emscripten<\/a> , lai to apkopotu p\u0101rl\u016bkprogrammas sader\u012bbai.<\/p>\n<p>Izm\u0113\u0123iniet DOOM PDF pats, apmekl\u0113jot <a href=\"https:\/\/doompdf.pages.dev\/doom.pdf\" target=\"_blank\">DoomPDF<\/a> . \u0160obr\u012bd tas nevainojami darbojas p\u0101rl\u016bkprogramm\u0101s, kuru pamat\u0101 ir Chrome un Chromium.<\/p>\n<figure class=\"wp-block-image\"><figcaption>Spraigs mirklis, kas tverts no DOOM, kas darbojas PDF fail\u0101.<\/figcaption><\/figure>\n<h3>PDF sp\u0113\u013cu izaicin\u0101jumi un ierobe\u017eojumi<\/h3>\n<p>Lai gan DOOM ports sniedz intri\u0123\u0113jo\u0161u ieskatu PDF\u00a0failu sp\u0113\u013cu potenci\u0101l\u0101, past\u0101v noteikti ierobe\u017eojumi. Piem\u0113ram, sp\u0113le pa\u0161laik darbojas ar vienkr\u0101sainu grafiku, nevis ietver kr\u0101sainus att\u0113lus, kas atrodami ori\u0123in\u0101laj\u0101s versij\u0101s. K\u0101 nor\u0101d\u012bja Rinsma: &#8220;Pat GameBoy ekr\u0101nam (160x144x3) tas ietver gandr\u012bz 70 000 lauku, iev\u0113rojami pal\u0113ninot veiktsp\u0113ju.&#8221;<\/p>\n<h2>Izp\u0113tiet t\u0101l\u0101k, izmantojot GitHub resursus<\/h2>\n<p>Tiem, kurus interes\u0113 tehnisk\u0101 puse, Rinsma ir padar\u012bjis GitHub pieejamu gan <a href=\"https:\/\/github.com\/ThomasRinsma\/pdftris\" target=\"_blank\">PDF Tetris<\/a> , gan <a href=\"https:\/\/github.com\/ThomasRinsma\/pdfdoom\" target=\"_blank\">DoomPDF<\/a> pirmkodu . \u0160\u012bs zin\u0101\u0161anas b\u016bs nenov\u0113rt\u0113jamas izstr\u0101d\u0101t\u0101jiem, kuri v\u0113las veidot interakt\u012bvus PDF failus.<\/p>\n<h3>P\u0113d\u0113j\u0101s domas un PDF sp\u0113\u013cu n\u0101kotne<\/h3>\n<p>\u0160\u012b novatorisk\u0101 pieeja paver durvis sare\u017e\u0123\u012bt\u0101k\u0101m PDF sp\u0113l\u0113m n\u0101kotn\u0113. Izpratne par skript\u0113\u0161anas ierobe\u017eojumiem un iesp\u0113j\u0101m sniedz daudzsolo\u0161u perspekt\u012bvu izstr\u0101d\u0101t\u0101jiem, kuri ir ieinteres\u0113ti tradicion\u0101lo PDF lietojumu robe\u017eu p\u0101rsnieg\u0161an\u0101.<\/p>\n<p>Avots: <a href=\"https:\/\/th0mas.nl\/2025\/01\/12\/tetris-in-a-pdf\/\" target=\"_blank\">Tomass Rinsma<\/a><\/p>\n<h2>Bie\u017ei uzdotie jaut\u0101jumi<\/h2>\n<h3><strong>1. Vai ir iesp\u0113jams sp\u0113l\u0113t \u0161\u012bs sp\u0113les jebkur\u0101 p\u0101rl\u016bkprogramm\u0101?<\/strong><\/h3>\n<p>Pa\u0161laik Tetris un DOOM PDF\u00a0faili vislab\u0101k darbojas p\u0101rl\u016bkprogramm\u0101 Google Chrome un cit\u0101s p\u0101rl\u016bkprogramm\u0101s, kuru pamat\u0101 ir Chromium, k\u0101 ar\u012b p\u0101rl\u016bkprogramm\u0101 Mozilla Firefox. Citas p\u0101rl\u016bkprogrammas var neatbalst\u012bt nepiecie\u0161am\u0101s skript\u0113\u0161anas funkcijas.<\/p>\n<h3><strong>2. Vai ir k\u0101das \u012bpa\u0161as pras\u012bbas, lai palaistu PDF sp\u0113les?<\/strong><\/h3>\n<p>Nav nepiecie\u0161ama \u012bpa\u0161a programmat\u016bra, iz\u0146emot modernu t\u012bmek\u013ca p\u0101rl\u016bkprogrammu, kas atbalsta PDF skript\u0113\u0161anu. Tikai p\u0101rliecinieties, vai ir instal\u0113ta jaun\u0101k\u0101 p\u0101rl\u016bkprogrammas versija, lai nodro\u0161in\u0101tu vislab\u0101ko pieredzi.<\/p>\n<h3><strong>3. Vai es varu modific\u0113t savu projektu pirmkodu?<\/strong><\/h3>\n<p>Piln\u012bgi noteikti! Gan Tetris, gan DOOM PDF adapt\u0101ciju pirmkods ir pieejams vietn\u0113 GitHub. Varat to izmantot k\u0101 pamatu saviem projektiem vai t\u0101l\u0101k att\u012bst\u012bt \u0161\u012bs sp\u0113les.<\/p>\n<p><a class=\"xiaomi\" href=\"https:\/\/www.howtogeek.com\/doom-tetris-pdf-ports\/\" rel=\"noopener noreferrer nofollow\" target=\"_blank\">Avots un att\u0113li<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Atkl\u0101jiet aizraujo\u0161o PDF sp\u0113\u013cu pasauli: sp\u0113l\u0113jiet Tetris un DOOM Inside PDF failus! Daudzi cilv\u0113ki PDF failus uztver k\u0101 tikai statiskus failus teksta un att\u0113lu par\u0101d\u012b\u0161anai, ta\u010du jaun\u0101kie sasniegumi ir p\u0101rveidoju\u0161i tos par interakt\u012bviem sp\u0113\u013cu veidiem. Izp\u0113tiet, k\u0101 klasisk\u0101s sp\u0113les, piem\u0113ram, Tetris un DOOM, tagad var sp\u0113l\u0113t PDF dokumentos, pateicoties novatoriskajai PDF skriptu veido\u0161anai un p\u0101rl\u016bkprogrammas [&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,847,176,9],"class_list":["post-6977","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\/lv\/wp-json\/wp\/v2\/posts\/6977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/comments?post=6977"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/posts\/6977\/revisions"}],"predecessor-version":[{"id":6978,"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/posts\/6977\/revisions\/6978"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/media?parent=6977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/categories?post=6977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/lv\/wp-json\/wp\/v2\/tags?post=6977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}