Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Vapourware Is there any way to download an entire thread complete with linked images as a pdf?

Chamezero

Guest
I don't want to click 'save as' two hundred times or make a shitty script to download it all, is there an easier way?
 

Chamezero

Guest
I was thinking in the Russia-Ukraine and ISIS threads. Don't prejudge me ( ͡° ͜ʖ ͡°)
 
Unwanted

jcd

Punished JCD
Patron
Joined
Jan 4, 2012
Messages
10,681
Location
UNATCO HQ
Codex 2014 PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Bubbles In Memoria
c72057ca4b55891bc43a5a710df0da747c29ad99ebcdd98f8b9c53839cfe15c5bf784c71e7d264741ffc1901397bfc3cfc6c9538e1bf01594e3b260f0a4b7fc956a1a07d22c6b7badf9b47a716b86e93f34965e5351087f262ddf30502a89113f18043bbb25fc8d8d1651457e2914e9cd244da9c1d741dec56ed5440f02b53e6a3c44f59b1d27a32568f670a1b47989f8ed7084a36cbf1bbbf4b9ccbac77fc23c94949b0bac9004334b815afd81feb8026527cc12b53063124d4c3e43907bd105523cf2c1115f7fc8b8e181e3700176df02ae697f4a63baceb0e893e38e00bd9854f744dccee6505c1d3cb26631f77ce6e4470a4fd7fbfe7ab90e2973dde61468cd3895bb17b0b46953e062ad9993b27e3295681746f3003aae922a79f1531a64005de57c9e8f8b2b39b16fbca0bd03d65a63bdb62799d7636a3f2b8a475bb0ab5c2c9e305f3a2e3421f9e94efd46f0e6c3396e1155fa805589252d34f971b4ad646c17158d8cd5bf8b21dd57e562961c105c27d21fe7024d91d1b1da6df4c409b9504df6856dd8180aac8c3d650ee489a6fcdde570f8d5e038d9531fec95c83d76b50f893b2fad996475358ee73d12ec6c12dcf17427c6272b2876494358d97636c3683bb25f22e1a7563a1ade4b8e7408bd9ccad3cf17575bfcd5a48ade81dc2fceeab2db932b4fc371059a6bf9ea3674e1c519b1588695477cd6500979ea63ed4f099746512bd25737408fc9bb061789fef1f45fc930a638b2c52d26d98c321ff88621b2e887464a54708899e50a4d21d7ef7b1d01c6825fe9554a6b8541d42bd16962785e3567f56cd6aba2d43bd3085445c9461cc97d0333ce1be43d64bcc5acaa8a71e5f75912d7bdf79fe1fa6a56bdae5ed80177571de4ac1065ca9a706c1c93f7e7a57324060d674c1ea63cd178340ffa0c516c846838d71f2e1cb6918df9104674d9993dd2ef8f13af430a18f4476b2507d12303e96fcc738aad2b4e317ef02d6ad23bb1678b6a42f4d38a4724a613f605d1cc62a3338d27eb4e1fd1364e9c9af2f90b37c34823e5ff1211716bd60abfe0fe5476624c84ca4a1003005c756011311e34edc43f4336233f6a908717877d4b6aa4e0a404ee73d0e0f713ea552aeabf9b5f6b4e6b4f0ab99282e59547700f83c2627e18047f9b0a5b2596a0555188def6db08f0cdcac1047859e0e5b3069dcd08089dbcc3ff8e204a27e1814bc2860b5b84966fee537a909a6491a707641d637bf5df694a271fe908174862be74af95d0bd77ac68bbf43ae8c03ea4791d30a0e919cd355055274cd060da7bfda432af1b3450923c420f40d668a2ff8579bf7f7c5428fb00b78d837698c6cd250eb4e27151daafa22c32cf3fd9142967382a632e7ca8d70b8aee5d3b689876019019afae588302e3c30addefc2aec8a317da3712dcc069f32c6e4b78be303d009e80baae7d4fd550983a3f1c67b5bf87fb3308a17372ddaad3da6f5393791d4012379c06d7af4278618787bddd569686c0cfe1d44f93b3ecd55610c3857fb08a7045223585f5c80ee92469d4e36d35afa3736b7af0761f6a67df75bc378f057f789a242f8cb8eb6d22e3a35571fd96b7622e8c441138a681cd9dbf53be1c2fcdf4799a531b65090798468425df8fa46ac34856997488f7b961ffbbec7ebbc6d605eccea872a8e7274035acfce7e48ec5f5c9a74afca4d8d5ab38bed6e6c7c8c7c3e0f75916349a7908e51f61aa034f38124f90f43c06c9cde45f0c2184f9f54b53fe95e56958f6246164c268cfa42120f33067b74eaf2c30a88f04b0a262982c7c9b5281a0839e7f9a15a1f10fb319e072742925f2bc69815aa6af6b6a3fa20b1502eb936c40d2a1a9809cba8858e3830366cb06f63b368cb78deb4dfdb2814ee1d1aa384b7818c81c0f42e78d4aafcf1c4404347768d60a0fa1b759c6560542cd0bf7baa7fcb756dca47f975ebddbef4a097d4c349536b524b4c2a79b7bd0e558b153703f5d17effdf67dc05a5d93fc3513b14f21f0401d041d47ff30663812569bc8744855a7a6f6cd8c64026cb7da160abe2a9839e164051463c23820a1bdee4085469533b3c68812382eacbec514bec8ae85bad2057f628ff5d5c0730730b42c2a2745d427313508a67145bf7b037bc17a9f7281186b1f13e7734d3c5b921069a02f6b4246f1a9748f590f2fd12c5496ad751cac83224e5dfa4a2002d8e4b8acfa5ac923e9a99fbb3e56ef0ae766fb1ed7f702b0d4c841968c2c22a3f04e9b763f264cc89a36933ddd4f2dc6d99882c57a967093c138aef6108f82a69a0dabf01d29f7e842fb4fbd56a3d2dd66b581b920ba3f0dd631ca6b2debd01ae4bbb99165d76eec4b5e0630774970c603f99fd28f84f11801f9d5d77d0673a312f5066413c91329ed3cb78b71a628fdbc6eb0e9895f34f01a72a4757af18473e7a256129b1de18a15cc7fc53b55a2a0627351174056c4a2d877c7c1fde0d52ae560b8a18795b9243f38744c9173415a659e68dc9a42c00d76193cd249d2ebaf60b4d2cfe8324e0b8818fcb1107a358572f05e7bef40de96f89dc60f32f131c304516f21e76788431c1957353fd403d7d6710eafb4ab43c022b7cd22a22677cd5f650ee98604207ab8a96ab8ecfa55abd183398d788f1b6949450d2e4bec662014890299339f1c92054a5fde5424a44fd58dc572f54bc5986fe139a89cffe48e308a1cf5d14c4ecf32d1177737da9b23d72b97bbcd95c19213efd6779e43946d96146f65302a475333c4910c7ca1698e345b95b6c95cc0207293816a1cb538a600cc8774ce76b4e423900bbf25e254d3fe85230d95f6566b237a2e829060a38bdd377fe010356716efd46bc9af62f4b31197730cacc02a5ca157f16bd3c844e5bc5b9495411cb4a385a8eed11a1f118d10c0c4b2ad68c083d73965271199ebde3011fe54ab144972915dae5211fc1c7acee991fb9fe7ce2817f30a2a62be85211190c1fcda0c65b443553cceabf2d6860e48990fefc5d094881d886840957f59e6dc147a223135b9e55e7be86d6ac0c3a3221736b40e57b2573bc758c78c7f5eab3a47674ba7c061bc73ce54f8378df98120df3e36cde6f1a445b506e87a105042f39cb21de6b76cd672cf04c257ecdce4f5a8253ceb42c07f957871f64e8f5e2d0f48fc081e7896882fb862fbcff98e49bfdc12672e438bcb4ba023199472cda98dd641c43f4ceb970792d7a2962283e0ce0508c27bc23c5ca7056478692dfb23f860066ef364deac51fe81af378ad18587f4e69cf5414e87101c3d65b60ea0c95f07675fb7fc484e4bd92c674e3c85d0dc544648919e64c29bf5ad6f138f2a15b3ae58f6e4fc5367d5275d0718cadbc77ec8fd1bce7c87d71df5106db8d71e07824a49038c2b534dcf66a4358a31a47504f44d5eecb08fc4ddd8b80c757916f700cd1d9fa6cb61df234bf83a1658af86beb0d429900fad34aa77a43ab457f1cb741dd07a01a10f65682109e1476f980bebdc9de4b2ffbc43d18f3586c76f1e2380fb16816e4066ec661dc8a9ab093cf42705c1e675c4e1bd175fd98dcbfc00b9e8425060ec45d13aaa0ccbe3ee77fa0cf402233430332db91b0503da3fe75d545e2c23f9e75710053434c8cf62905a96c9304964ea1036b4975ae57dcc159ba7cbbe327d6f9b8d25ac352cb1cde8a4b70ed3f9be15966b998bca34f91d630d223536b48045f8cbbca59d6163ae33b6db180565fe60329ba193751bc2f5a79c6ed986fc86abdbf8362e82d93547b3864d40aa87376c47f6c7519ad44ee15fd9a9d8316f757985a6921411782e804730a23ffef86e63d78578f1731141503f1e46a7704ff474b7c4e758c6f85f04de1c89b122c74dbce2988806049d4eada472d49a9887e0271ca80bdab30c6c004d52cf773407fb7fcc19c6bea7bcb4dd03da004ddbc3a8409720f18dba876ee4f3ae5ba4ca2c182bb00eff5450ed636fe5a1edb2b8b3b32032c5cc996bf09746c3c6fc0f398198e07cb8ab762efcc93b49887168abcd6919d32a5018798b0ebaccfce21884a5ac7077219e3c448e7c9068a70acb10060ccdfb8807697368f241baa8072ff772570d4158a81df69ffdeae6b636fef504eb4248eee37ee183816469635059390d1095b69fb6222edaee1aef8573377f4f81d2ca2e66f937e069006fc41f149b76ffe9b52dc458b2d1ba705ab8fb3ddcca5202e732256311bae045b604aad3b90b90192896ecb3abbbca16cb4ec59c68a9860cedd3a58270089f8ce03678bc2e2831be85c0ac0729c1d877fe7db91dadfe2b2571548f452481ed19de622d4b8924ae632d05cb51932fb16467582f671bfacaf62cbcd1108d493edf2f4f563c9ceb1ce40c96406ec7f9ef186062f345d184e016124a009a09edda294c8dde936dfb151e56a5c40f47764757724749be406321e95791e4f918b0bff9d0ddd608b09a5781a9827684a9ec49a3193a59f646218816751af6f65f7771d94c56f54c8a099b22eef66602b734c49bd96d7d7610081ed63cb128d10ae30fab61eaf8fc7e039134f10356f607ab5e82f8169714b8be3dc27ab0b8208b7d8c754f63ceae5dafa5c1e3b05266f669235ebf2cbe2a9338312acc3116851859d8e06f5494b216c98448d215a30d90fa43942efb1121f65b04653005a4b4af395fc922a9f4ef7fa060fa9c220d69da7be8f8c6dd8fe2b54d4e3204b45bf087e89a2b7fbfd9c4141af48f802870ecc67de8a6f17c973647099235e9f64fa9bcf3185009ac987a1f6779e420808444e81eac486373ec32f0890ccf3b724c3168153cf28c56989c9873e15caf8cb27a80e031c288569fea7deef695aed538abd2c9d68ab51d25931cbcab4a9a0d4d3ecc70411a86be6db25750decff74b0dc5256c4d6c1b05a41d696626db1e051b9e2ae13d80e8a133315d1f1efb436ade618bea8d76ab26c1db04e9f850cbfd9a97fa33d76c5dbfc50750b516f45babf3e990313c219bfc7c787d7a1ff7812fa92066276bc9a358a90e60bf7dfb89012a0f24246b53f32e211aa1b28f6c2d1049e71819b320b7ac8e7dfce360cd5de651cd0dca775e0d077c5425ee4ac22cd0fbe47cae6c7018ceba7e431d7d4fef65f476fcfaed52cd1687d1c003d4c4a3c2e8d0a09089aa6cf17b3a7607d55e287a0dcf02a63acd82e2cb765dc1b0cb44e8c7c3a7a5200bbaf4183c04547ce45b3f1e7f427c3abcd61d50a1013f2f03af3b0c725f9d9a3edc979941e911e750ffb0ad7e60ca8db0e588b9be9c96231b14453d0c0d4e808678c653f9e87012291eb86afb94b741b843678b0eae18f001e8e9f803fb0a2de7e255ffa79a2cffef831432196f590271476c18544876690dff83a72d7e27bb7c14c46a0712ace213531d8368114f68c94031ac50cd51bbf22e2400acd3f8fa970c76dd41d9680f67fac005ac6bff794254e38efc9991592a7049db57d5b2a67f3fc60b0a9e54080767d7f24b6b7c407c6dbf3b562f9d106857326cad884ffa0a5628c0d0985d5c0cb618bd82cca838053b840a6645f2868ad6db678d36a0e84d7d568594a366f8a0a0759b3d1f4ecc056e534c977608ac2db840c6d5417c37173cc1395e8b8efbf4d0132d109d188d7bb423a38c07494d9404f443fd83a4d2df90aa4fd6dcfe7728adfa38f10782d26524e864c1ff9c2224db1c05804981559512ec05002e56ff97ea6cadc9f3703c50b9b0e055efa31e6ab9af6cc488af5ca99ca73e713f0c47225ca4e3543270b1e1a75b9cbd1438ef1f0fd4d8218a599759f79
 
Last edited:

JRIz

Augur
Joined
Aug 17, 2015
Messages
502
If at least threads had an interface that lets you download the source code of each post, the result could be translated into pretty much everything. Like this:

Code:
$ curl 'http://www.rpgcodex.net/forums/index.php?threads/is-there-any-way-to-download-an-entire-thread-complete-with-linked-images-as-a-pdf.102295/bbcode'
Camezero
I don't want to click 'save as' two hundred times or make a shitty script to download it all, is there an easier way?
--
AureliusMMXII
Pervert
--
Chamezero
I was thinking in the Russia-Ukraine and ISIS threads. Don't prejudge me ( ͡° ͜ʖ ͡°)
--
jcd
[url='http://www.rpgcodex.net/forums/inde...-threads-and-read-them-on-ebook-reader.96593/']http://www.rpgcodex.net/forums/inde...-threads-and-read-them-on-ebook-reader.96593/[/url]

You could then use a shitty script™ to generate e.g. TeX or Markdown and pdf from that in turn.
 

Jigawatt

Arcane
Joined
Aug 13, 2009
Messages
3,409
Location
in a desert, walking along in the sand
  • Download and install this for your platform (don't use package manager, it won't support multiple pages)
  • Login to Codex and get your cdx_session cookie value, a 32 char hex string (In Firefox: right-click any codex page, 'View Page Info', Security Tab, 'View Cookies')
  • Linux/OSX: Run something like
    Code:
    wkhtmltopdf -n --cookie cdx_session 0123456789abcdef0123456789abcdef "http://rpgcodex.net/forums/index.php?threads/salute-skyway-ukraine-jesus-wept-stalin-smiled-vaarna-aarne-was-right.88323/page-"{1,991} baltic_bullshit.pdf
  • Windows: Dunno lol use a for loop or get msys bash and try the above

You may want to check the other command line options with a limit of the first 2 pages or something before committing to all 991, in particular --zoom
 

TwinkieGorilla

does a good job.
Patron
Joined
Oct 19, 2007
Messages
5,480
Serpent in the Staglands Divinity: Original Sin Torment: Tides of Numenera Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 BattleTech Pathfinder: Wrath
Is there any way to play an entire song only with your anushole as a sort of modified harmonica?
 

Jigawatt

Arcane
Joined
Aug 13, 2009
Messages
3,409
Location
in a desert, walking along in the sand
Is there any way to play an entire song only with your anushole as a sort of modified harmonica?
Yes. First you'll need a flat, round leaf like from a eucalypt or ficus. Then do like this guy


except instead of holding it horizontally between your mouth lips, go vertically between your butt cheeks.

Speaking of jigawatt, what happened to The Wes Dude?
I believe TheWesDude has self ejected in an extreme display of butthurt about losing his preferred avatar to one of his betters.
 
Unwanted

a Goat

Unwanted
Dumbfuck Edgy Vatnik
Joined
Jun 15, 2014
Messages
6,941
Location
Albania
IS there a way to download an entire thread into PDF format so we could instantly sell The Grimoire thread in bookform ?

I think that "Why did Sir-tech went bankrupt" would be far more interesting read. Too bad lots of images went down.
 

ROARRR

Savant
Possibly Retarded
Joined
Feb 26, 2015
Messages
336
Location
Nirvana
Like this:
Wow is that php with libcurl as library? Looks ugly:D
Yes. First you'll need a flat, round leaf like from a eucalypt or ficus. Then do like this guy
Didn´t work for me, I had just a lot of spit on my screen after trying:retarded:
No pdf was generated. I don´t know what is wrong, please help!
I tried everything even googled it for hours. Maybe it is the leaf?

:troll:
 

JRIz

Augur
Joined
Aug 17, 2015
Messages
502
Wow is that php with libcurl as library? Looks ugly:D

No, it was meant as a notation of a unix shell program call. First line is the call, the rest is the output. The format of the output, of course, is not entirely sensible.

Now it's too late but I found a nice solution for Firefox (possible that it works in other browsers too):
  1. Click on the thread in the thread list so you land on the first page.
  2. Open the Javascript console (Tools ->Web Developer -> Web Console)
  3. Change the 5 in the following code to the number of pages you want to download:
    Code:
    var NO_OF_PAGES = 5; 
    
    function processFrameContent(e) { 
     frame = e.target; 
     container = document.getElementById("div-" + e.target.id.split("-")[1]); 
    
     container.appendChild(e.target.contentWindow.document.body); 
     document.body.removeChild(e.target); 
    } 
    function clearChildren(node) { 
     while(node.hasChildNodes())  
     node.removeChild(node.lastChild); 
    } 
    var threadUrl = document.location + "page-";
    clearChildren(document.body); 
    for(var i = 0; i < NO_OF_PAGES; ++i) {  
     divId = "div-" + i; 
     div = document.createElement("div"); 
     div.id = divId; 
     document.body.appendChild(div); 
    };  
    for(var i = 0; i < NO_OF_PAGES; ++i) {  
     frameId = "frame-" + i; 
     iframe = document.createElement("iframe"); 
     iframe.id = frameId; 
     iframe.onload = processFrameContent; 
     iframe.setAttribute("src", threadUrl + (i + 1)); 
     document.body.appendChild(iframe); 
    };
  4. Copy and paste the code into the console and hit enter.
  5. Print.

It collects the pages of the thread onto the current html page beneath each other in the correct order. It even does it in parallel.
 

Nevill

Arcane
Joined
Jun 6, 2009
Messages
11,211
Shadorwun: Hong Kong
You, sir, are one of the best people who happened to this forum.

Quite a few LPs in Codex Playground were lost to time, as the images and sometimes even the hosting sites faded into obscurity. I always wanted to have a way of archiving them safely, and I guess that's one way of doing it.

However, it does not play well with images under spoiler tags, displaying them as if they were quoted (i.e. very small). Taluntain, DarkUnderlord, I thought that was the first thing that was fixed? Can anyone tell me why the fix doesn't apply here and if this can be rectified?

Edit: nvm, figured it out. It looks like spoilers are rendered under
<div class="bbCodeBlock bbCodeQuote bbmSpoilerBlock">, and the bbCodeQuote is responsible for shrinking the images.
 
Last edited:

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom