[{"data":1,"prerenderedAt":387},["ShallowReactive",2],{"project-15611265":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":45,"post_text":47,"what":48,"said":65,"maker_in_thread":179,"shape":188,"grid":192,"attempts":350,"same_week":351,"maker_shows":292,"maker_hidden":380,"reader_version":381,"card":382},"15611265","url-to-pdf","Ready-to-use API to convert any web page to PDF using headless Chrome","title","Show HN: Ready-to-use API to convert any web page to PDF using headless Chrome","https:\u002F\u002Fwww.apify.com\u002Fjancurn\u002Furl-to-pdf","apify.com","jancurn",1509636440,2017,129,64,325,2242,15,"notable","infrastructure","web page to pdf api","api",[24,25,26,27],"html to pdf","headless chrome","puppeteer","web page pdf api","curious",0,{"positive":31,"neutral":32,"mixed":29,"critical":33},4,18,6,28,{"idea":36,"execution":39,"docs":40,"design":41,"pricing":42,"performance":44},{"positive":37,"critical":38},3,2,{"positive":29,"critical":37},{"positive":29,"critical":29},{"positive":29,"critical":29},{"positive":43,"critical":29},1,{"positive":29,"critical":43},[37,37,43,37,29,29,37,46,29,37,37,37,37,43,43,43,29,29,46,37,29,29,43,29,46,29,37,29,37,37,46,43,29,29,29,29,29,37,29,29],5,null,{"problem":49,"audience":47,"pricing":47,"motivation":47,"time_to_build":47,"stack":56,"openness":63,"stage":64,"team_size":63},{"value":50,"source":51,"evidence":52},"Converting web pages to PDF programmatically without running headless Chrome yourself","maker",[53],{"id":54,"by":11,"text":55},"15611774","You can call the API from anywhere, from resource-constrained servers, Docker containers that cannot run headless Chrome, JavaScript on a website etc. Also, we'll keep adding new…",[57],{"value":58,"source":51,"evidence":59},"Puppeteer",[60],{"id":61,"by":11,"text":62},"15612213","Actually we're simply using Puppeteer - see the source code at the bottom of https:\u002F\u002Fwww.apify.com\u002Fjancurn\u002Furl-to-pdf","unknown","launched",{"praise":66,"objections":76,"requests":98,"questions":120,"alternatives":135},[67],{"value":68,"source":69,"evidence":70},"Useful for programmatic PDF generation, easy to call from anywhere","commenter",[71,72],{"id":54,"by":11,"text":55},{"id":73,"by":74,"text":75},"15616467","phmagic","I love this service! I think ease of adoption you can allow pre-made scripts to be shared so the non-technical can easily set up work flows that go right into their email. For…",[77,84,91],{"value":78,"source":69,"evidence":79},"Converting to PDF is lossy, so it is a poor choice for archiving",[80],{"id":81,"by":82,"text":83},"15618123","xfer","converting to pdf is lossy, i wouldn't use this for archiving purposes, normally i use webrecorder for archiving.",{"value":85,"source":69,"evidence":86},"Headless Chrome lacks GPU support, so some sites render incorrectly",[87],{"id":88,"by":89,"text":90},"15613328","colordrops","As long as GPU support is not functional in headless, \"any web page\" is a misnomer. A large enough percentage of sites use GPU acceleration so that headless mode is useless. This…",{"value":92,"source":69,"evidence":93},"Command-line Chrome can already do this",[94],{"id":95,"by":96,"text":97},"15611694","conradk","Saving a webpage to a PDF is literally one command line away: chromium --headless --disable-gpu --print-to-pdf=google.pdf http:\u002F\u002Fgoogle.com\u002F What does Apify add in this case?",[99,106,113],{"value":100,"source":69,"evidence":101},"Accept raw HTML instead of a URL",[102],{"id":103,"by":104,"text":105},"15614788","jeppebemad","Is there a similar API around that accepts HTML instead of a URL? I’ve build one for my project, but I would prefer to delegate this to an external service.",{"value":107,"source":69,"evidence":108},"Support for headers, footers and page numbers",[109],{"id":110,"by":111,"text":112},"15614550","sebazzz","We are not too happy with our EvoPDF license so in the basis this is a good option. However, I do not think this allows adding headers, footers, page numbers etc.",{"value":114,"source":69,"evidence":115},"Support for pages behind login or SSO",[116],{"id":117,"by":118,"text":119},"15613533","panda888888","Does this work if the page is behind a password\u002FSSO wall? And is it possible to print multiple Chrome tabs? Printing pages to PDF is pretty straightforward. It's the above two…",[121,128],{"value":122,"source":69,"evidence":123},"How does it compare to commercial renderers like PrinceXML",[124],{"id":125,"by":126,"text":127},"15614417","ak39","Any info how this compares to commercial html to pdf renderers like PrinceXML?",{"value":129,"source":69,"evidence":130},"Does it produce accessible PDFs",[131],{"id":132,"by":133,"text":134},"15613918","Robdel12","Question: does this create accessible PDFs? That would be a really nice _possible_ work around for screen reader users having issues with a website.",[136,147,155,165,172],{"value":137,"source":69,"evidence":138},"wkhtmltopdf",[139,143],{"id":140,"by":141,"text":142},"15611946","scaryclam","Thanks, I didn't know that was a thing. I was checking out wkhtmltox earlier this week as well. Looks like there are a lot of options available for this. I suspect Apify's using…",{"id":144,"by":145,"text":146},"15616701","Natsu","There's also wkhtmltopdf that more or less does the same thing using webkit.",{"value":148,"source":69,"evidence":149},"PrinceXML",[150,151],{"id":125,"by":126,"text":127},{"id":152,"by":153,"text":154},"15614757","schneidmaster","In my experience, Prince is great for static HTML + CSS rendering, but its JavaScript engine is pretty lackluster -- I couldn't get it to work with rendering React components,…",{"value":156,"source":69,"evidence":157},"Bookmark Archiver",[158,162],{"id":159,"by":160,"text":161},"15616219","nikisweeting","Many projects are already using this for archiving purposes. Check out https:\u002F\u002Fgithub.com\u002Fpirate\u002Fbookmark-archiver It's robust because the modern web is pretty much built for…",{"id":163,"by":160,"text":164},"15616213","If you're interested in running your own personal Way-Back machine that uses Chrome headless for archiving (among other methods), check out Bookmark Archiver.…",{"value":166,"source":69,"evidence":167},"Screen.rip",[168],{"id":169,"by":170,"text":171},"15613056","laktek","I built Screen.rip, which also supports PDF generation. https:\u002F\u002Fscreen.rip\u002F#pdf Screen.rip gives you more control over the generated PDF beyond Puppeteer's options (like it can…",{"value":173,"source":69,"evidence":174},"Urlbox",[175],{"id":176,"by":177,"text":178},"15612778","dmmalam","Also check out https:\u002F\u002Furlbox.io\u002F. YC alum, super helpful.",{"comments":180,"answered":181,"key":182},9,7,[183,184,185],{"id":54,"text":55},{"id":61,"text":62},{"id":186,"text":187},"15612958","Now there is - I've just added the \"sleepMillis\" input option.",{"commenters":189,"max_depth":181,"maker_replies":180,"first_comment_mins":190,"lifespan_hours":191},39,46,100,[193,195,198,200,202,203,207,211,212,214,217,219,223,225,228,230,233,237,240,242,243,246,250,253,256,258,262,265,267,269,272,273,276,279,280,283,286,288,289,290,291,293,294,296,298,301,304,307,309,314,317,321,323,325,327,329,331,333,335,337,339,342,345,348],[95,29,37,194,96,29],"project\u002Fneutral\u002Fidea",[196,29,37,194,197,29],"15611744","granda",[159,29,29,199,160,29],"other\u002Fneutral\u002Fnone",[81,29,43,201,82,29],"project\u002Fcritical\u002Fidea",[54,29,29,194,11,43],[204,29,37,205,206,29],"15611784","project\u002Fneutral\u002Fnone","nickjj",[208,29,29,209,210,29],"15614280","commenter\u002Fneutral\u002Fnone","Scarbutt",[140,29,29,209,141,29],[61,29,29,213,11,43],"project\u002Fneutral\u002Fexecution",[215,29,37,213,216,29],"15615017","zulln",[218,29,37,213,160,29],"15616589",[220,29,46,221,222,29],"15612133","project\u002Fpositive\u002Fidea","xilni",[224,29,29,209,216,29],"15615006",[226,29,29,209,227,29],"15615528","nsomaru",[229,29,29,209,216,29],"15624411",[231,29,37,213,232,29],"15616058","sgolestane",[234,29,37,235,236,29],"15638183","project\u002Fneutral\u002Fdocs","lashkari",[238,29,37,213,239,29],"15612567","Keats",[186,29,29,241,11,43],"project\u002Fpositive\u002Fexecution",[144,29,37,205,145,29],[244,43,29,199,245,29],"15611916","jotto",[247,43,43,248,249,29],"15612439","project\u002Fcritical\u002Fexecution","FabioFleitas",[251,43,37,252,245,29],"15613820","maker\u002Fneutral\u002Fexecution",[254,43,43,248,255,29],"15618664","rahulroy9202",[257,43,43,201,160,29],"15616229",[259,38,29,260,261,29],"15612071","other\u002Fneutral\u002Fidea","visarga",[263,38,29,199,264,29],"15612085","rpedela",[266,38,29,194,11,43],"15612138",[268,38,29,194,11,43],"15613301",[270,37,46,221,271,29],"15612191","jugjug",[125,31,37,205,126,29],[274,31,37,205,275,29],"15614549","defenestration",[277,31,29,278,11,43],"15615342","maker\u002Fneutral\u002Fnone",[152,31,29,199,153,29],[281,31,29,199,282,29],"15618703","jamespaden",[284,31,43,248,285,29],"15616919","waddlesworth",[287,31,29,199,275,29],"15618150",[176,46,29,199,177,29],[169,33,29,199,170,29],[73,181,46,221,74,29],[163,292,29,199,160,29],8,[110,180,37,205,111,29],[103,295,37,194,104,29],10,[297,295,29,194,11,43],"15614824",[299,295,37,205,300,29],"15614978","inferiorhuman",[302,295,37,213,303,29],"15615192","chrismorgan",[132,305,37,306,133,29],11,"project\u002Fneutral\u002Fdesign",[308,305,29,213,11,43],"15619035",[310,311,46,312,313,29],"15613492",12,"project\u002Fpositive\u002Fpricing","tehlike",[88,315,43,316,89,29],13,"project\u002Fcritical\u002Fperformance",[318,315,29,319,320,29],"15613375","commenter\u002Fneutral\u002Fperformance","kyberias",[322,315,29,319,89,29],"15614022",[324,315,29,319,160,29],"15616201",[326,315,29,319,89,29],"15616279",[328,315,29,319,160,29],"15616572",[330,315,29,319,89,29],"15626774",[332,315,29,319,320,29],"15618756",[334,315,29,319,89,29],"15626778",[336,315,29,319,320,29],"15630425",[117,338,37,194,118,29],14,[340,338,29,199,341,29],"15615253","gbrits",[343,338,29,344,11,43],"15615356","maker\u002Fpositive\u002Fidea",[346,338,29,347,170,29],"15615969","other\u002Fpositive\u002Fidea",[349,338,29,199,160,29],"15616206",[],[352,357,361,365,370,375],{"id":353,"name":354,"points":355,"category":356},"15624206","Server.js",295,"languages",{"id":358,"name":359,"points":360,"category":356},"15644430","Javalin 1.0",271,{"id":362,"name":363,"points":364,"category":20},"15645276","Orange Forum",226,{"id":366,"name":367,"points":368,"category":369},"15611605","Link.fish",201,"web_saas",{"id":371,"name":372,"points":373,"category":374},"15622140","CertStream",142,"security_privacy",{"id":376,"name":377,"points":378,"category":379},"15638201","OSX-ISO",135,"dev_tools",false,"v2",{"id":383,"name":5,"line":6,"ai":380,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":384,"maker":11,"domain":10,"tier":19,"attempts":29,"strip":385,"url":9,"mix":386,"praise":68,"objection":78,"sub":21},15611265,[24,25,26,27],"3313003503333111005300105030335100000300",[31,32,29,33],1794036560459]