[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"project-18266668":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":35,"aspects":36,"strip":41,"post_text":43,"what":44,"said":72,"maker_in_thread":133,"shape":138,"grid":142,"attempts":238,"same_week":239,"maker_shows":38,"maker_hidden":268,"reader_version":269,"card":270},"18266668","txPDF","Webpage to PDF Microservice","title","Show HN: Webpage to PDF Microservice","https:\u002F\u002Fimti.co\u002Fwebpage-to-pdf-microservice\u002F","imti.co","cjimti",1540094353,2018,93,34,472,2155,22,"notable","infrastructure","pdf conversion microservice","api",[24,25,26,27],"webpage to pdf","wkhtmltopdf","pdf microservice","html to pdf","curious",-0.114,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,12,0,4,18,{"idea":37,"execution":39},{"positive":38,"critical":38},1,{"positive":33,"critical":40},3,[40,40,33,42,33,40,38,33,33,33,42,33,33,33,33,33,33,33,33,33,33,40,38,40,40,40,40,40,38,40,33,40,38,40],5,null,{"problem":45,"audience":55,"pricing":43,"motivation":59,"time_to_build":43,"stack":63,"openness":71,"stage":71,"team_size":71},{"value":46,"source":47,"evidence":48},"Converting web pages or reports to PDF reliably as a backend service","maker",[49,52],{"id":50,"by":11,"text":51},"18268843","txPDF is a simple containerized web services wrapper around wkhtmltopdf, intended to be used as a Microservice component in a larger system.",{"id":53,"by":11,"text":54},"18268832","These are great security suggestions and I should make some clarifications on the intended use. We use txPDF as a backend Microservice and not open to direct public use. It is…",{"value":56,"source":47,"evidence":57},"Developers building larger systems that generate reports",[58],{"id":53,"by":11,"text":54},{"value":60,"source":47,"evidence":61},"Automate report generation within a larger system",[62],{"id":53,"by":11,"text":54},[64,67],{"value":25,"source":47,"evidence":65},[66],{"id":50,"by":11,"text":51},{"value":68,"source":47,"evidence":69},"Containerized web services",[70],{"id":50,"by":11,"text":51},"unknown",{"praise":73,"objections":81,"requests":89,"questions":90,"alternatives":98},[74],{"value":75,"source":76,"evidence":77},"wkhtmltopdf is a great utility and the maker relies on it heavily","commenter",[78],{"id":79,"by":11,"text":80},"18319267","Thanks, I'll check out that issue and see if there is anything I can contribute. wkhtmltopdf is a great utility and we rely on it heavily.",[82],{"value":83,"source":76,"evidence":84},"Open URL-to-PDF services risk SSRF and local file access attacks",[85],{"id":86,"by":87,"text":88},"18267033","stevekemp","I've reported many bugs in projects that turn \"URL\" to \"PDF\". You need to be sure you're limiting the kind of URLs that people can submit. For example ensure that nobody makes a…",[],[91],{"value":92,"source":76,"evidence":93},"Can the wkhtmltopdf packaging issue be worked around",[94],{"id":95,"by":96,"text":97},"18274158","ashkulz","wkhtmltopdf maintainer here. That's really cool! Did you manage to find a workaround for https:\u002F\u002Fgithub.com\u002Fwkhtmltopdf\u002Fpackaging\u002Fissues\u002F2? If so, would appreciate a PR :-)",[99,106,112,119,126],{"value":100,"source":76,"evidence":101},"Headless Chrome print-to-pdf",[102],{"id":103,"by":104,"text":105},"18267234","krn","A basic command line alternative using Headless Chrome[1]: ``` chrome --headless --disable-gpu --print-to-pdf https:\u002F\u002Fwww.chromestatus.com\u002F ``` [1]…",{"value":25,"source":76,"evidence":107},[108],{"id":109,"by":110,"text":111},"18267258","rav","Similar functionality is packaged in wkhtmltopdf, which essentially runs Webkit headless to print to PDF. https:\u002F\u002Fwkhtmltopdf.org\u002F",{"value":113,"source":76,"evidence":114},"Weasyprint",[115],{"id":116,"by":117,"text":118},"18267351","ZeKZ","I find wkhtmltopdf very difficult to work with, for instance the official documentation is just a man [1]. I discovered the project Weasyprint[2] a few months ago. I find it…",{"value":120,"source":76,"evidence":121},"Puppeteer",[122],{"id":123,"by":124,"text":125},"18266883","thomasfromcdnjs","Awesome timing. Just started work on a LinkedIn alternative called https:\u002F\u002Fjaresume.com We need a reliable way of turning peoples resumes into PDF's Going to give this a go today…",{"value":127,"source":76,"evidence":128},"Prerender.cloud",[129],{"id":130,"by":131,"text":132},"18269011","jotto","alternatively if you want a SaaS REST API: ``` curl https:\u002F\u002Fservice.prerender.cloud\u002Fscreenshot\u002Fhttps:\u002F\u002Fgoogle.com\u002F > out.jpg curl…",{"comments":40,"answered":31,"key":134},[135,136,137],{"id":50,"text":51},{"id":79,"text":80},{"id":53,"text":54},{"commenters":139,"max_depth":42,"maker_replies":40,"first_comment_mins":140,"lifespan_hours":141},27,102,169,[143,145,146,148,150,151,155,157,161,164,166,168,171,173,176,178,181,183,186,188,192,195,198,201,202,205,209,213,217,221,224,228,230,235],[103,33,40,144,104,33],"project\u002Fneutral\u002Fidea",[109,33,40,144,110,33],[50,33,33,147,11,38],"maker\u002Fneutral\u002Fidea",[95,33,42,149,96,33],"maker\u002Fpositive\u002Fnone",[79,33,33,149,11,38],[152,33,40,153,154,33],"18270553","project\u002Fneutral\u002Fexecution","forapurpose",[86,38,38,156,87,33],"project\u002Fcritical\u002Fexecution",[158,38,33,159,160,33],"18267545","other\u002Fneutral\u002Fnone","cjr",[162,38,33,159,163,33],"18267871","jarofgreen",[53,38,33,165,11,38],"maker\u002Fneutral\u002Fprivacy",[123,31,42,167,124,33],"project\u002Fpositive\u002Fidea",[169,31,33,159,170,33],"18267018","NetOpWibby",[172,31,33,159,124,33],"18267168",[174,31,33,159,175,33],"18267070","dvh",[177,31,33,159,124,33],"18267166",[179,31,33,159,180,33],"18267172","rcfox",[182,31,33,159,124,33],"18267174",[184,31,33,185,180,33],"18267192","other\u002Fneutral\u002Fidea",[187,31,33,159,124,33],"18267216",[189,31,33,190,191,33],"18269595","other\u002Fpositive\u002Fnone","ivanche",[193,31,33,159,194,33],"18275266","vfulco2",[196,40,40,144,197,33],"18267419","ernsheong",[199,40,38,156,200,33],"18267494","superasn",[116,34,40,144,117,33],[203,34,40,153,204,33],"18267483","jimnotgym",[206,42,40,207,208,33],"18269243","project\u002Fneutral\u002Fnone","Globz",[210,211,40,144,212,33],"18268918",6,"btown",[214,215,40,144,216,33],"18268500",7,"liftbigweights",[218,219,38,156,220,33],"18267350",8,"bramd",[222,219,40,144,223,33],"18267443","gildas",[225,219,33,226,227,33],"18268433","commenter\u002Fneutral\u002Fnone","Ibethewalrus",[130,229,40,144,131,33],9,[231,232,38,233,234,33],"18267821",10,"project\u002Fcritical\u002Fidea","fastball",[236,232,40,144,237,33],"18267934","supermatt",[],[240,245,250,255,260,264],{"id":241,"name":242,"points":243,"category":244},"18284910","Websites in 2018",595,"creative",{"id":246,"name":247,"points":248,"category":249},"18291302","Ultimate Plumber",484,"dev_tools",{"id":251,"name":252,"points":253,"category":254},"18258971","After Interview",306,"productivity",{"id":256,"name":257,"points":258,"category":259},"18265074","lip-reading-deeplearning",258,"ai",{"id":261,"name":262,"points":263,"category":20},"18294007","Relica",132,{"id":265,"name":266,"points":267,"category":254},"18249424","Meeting Stats",127,false,"v2",{"id":271,"name":5,"line":6,"ai":268,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":272,"top":18,"kw":273,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":274,"url":9,"mix":275,"praise":75,"objection":83,"sub":21},18266668,-0.11,[24,25,26,27],"3305031000500000000003133333130313",[31,32,33,34],1794036570711]