[{"data":1,"prerenderedAt":575},["ShallowReactive",2],{"project-22763656":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":47,"post_text":48,"what":49,"said":90,"maker_in_thread":188,"shape":198,"grid":202,"attempts":538,"same_week":539,"maker_shows":32,"maker_hidden":567,"reader_version":568,"card":569},"22763656","Pdf.js Express","PDF annotation, e-signatures, and form filling","title","Show HN: Pdf.js Express – PDF annotation, e-signatures, and form filling",null,"niknikson",1585860665,2020,334,132,115,3028,4,"legend","dev_tools","pdf viewer sdk","library",[23,24,25,26],"pdf annotation","pdf.js","e-signature","form filling","mixed",-0.47,{"positive":30,"neutral":31,"mixed":32,"critical":33},3,31,1,33,68,{"design":36,"idea":37,"pricing":39,"docs":42,"execution":44,"performance":46},{"positive":32,"critical":32},{"positive":38,"critical":17},0,{"positive":40,"critical":41},2,7,{"positive":38,"critical":43},8,{"positive":38,"critical":45},6,{"positive":38,"critical":32},[38,38,38,38,38,38,38,38,38,32,32,32,30,32,32,30,32,38,38,30,40,40,30,32,32,32,40,30,30,32,32,40,32,30,30,32,32,17,38,32],"Hi HN,\n\nNick here. We're super excited to officially launch PDF.js Express [1].\n\nPDF.js Express wraps a modern React UI around the PDF.js rendering engine to enable PDF annotation, form filling, and signing inside your web app. We've also made some improvements to PDF.js text search, and taken a different approach to how the viewer uses the PDF.js rendering API, resulting in sharp graphics at any zoom magnification [2].\n\nBased on our research, more than 70% of those who try to implement these features on top of PDF.js find it too difficult or time-intensive [3]. For those who are successful, s",{"problem":50,"audience":56,"pricing":60,"motivation":72,"time_to_build":9,"stack":78,"openness":87,"stage":88,"team_size":89},{"value":51,"source":52,"evidence":53},"Building PDF annotation, form filling and signing on top of PDF.js is too difficult or time-intensive","maker",[54],{"id":55},"post",{"value":57,"source":52,"evidence":58},"Developers adding PDF features to web apps",[59],{"id":55},{"value":61,"source":62,"evidence":63},"Commercial license, around $440\u002Fmonth per commenters","commenter",[64,68],{"id":65,"by":66,"text":67},"22764007","transitivebs","I'm all about the open core business model.. but are you guys affiliated with the core pdf.js team? $440 \u002F month is pretty hard to swallow. I love that you guys included a build…",{"id":69,"by":70,"text":71},"22765461","longtermd","The pricing of 440 USD\u002Fmonth must be an April's joke. It might be worth 9 USD\u002Fmonth compared the many competitors and free solutions.",{"value":73,"source":52,"evidence":74},"Clients find building their own viewer uneconomical; viewer is not a core differentiator",[75],{"id":76,"by":10,"text":77},"22764963","Thanks for the feedback! We are not part of the core pdf.js team. In regards to pricing we found that for some companies creating their own viewer requires a fair amount of…",[79,83],{"value":80,"source":52,"evidence":81},"React",[82],{"id":55},{"value":84,"source":52,"evidence":85},"PDF.js",[86],{"id":55},"paid","launched","company",{"praise":91,"objections":106,"requests":147,"questions":157,"alternatives":166},[92,99],{"value":93,"source":62,"evidence":94},"Polished product and demo",[95],{"id":96,"by":97,"text":98},"22764237","akdarrah","Hi Nick, Your product looks pretty awesome. It's super polished for your initial launch! Congrats! I'm curious how long it took to build the product and how large your team is?…",{"value":100,"source":62,"evidence":101},"Fills a gap in the market for PDF SDKs",[102],{"id":103,"by":104,"text":105},"22766355","ggcdn","I work in an industry that marks up PDFs extensively (construction) and have wanted to build a bespoke PDF markup tool for a long time. In designing concrete floor slabs, we need…",[107,120,134,140],{"value":108,"source":62,"evidence":109},"Pricing too high for small developers and startups",[110,111,115,119],{"id":65,"by":66,"text":67},{"id":112,"by":113,"text":114},"22764315","2pointsomone","I have a startup and we are highly reliant on PDF rendering in our application. But here's the thing, Nik: your pricing model doesn't make sense to me. In general, most PDF SDK…",{"id":116,"by":117,"text":118},"22766166","richardkeller","This looks like a fantastic solution. If there were an affordable price point, I would immediately implement this in the edtech platform that we're developing, but the price…",{"id":69,"by":70,"text":71},{"value":121,"source":62,"evidence":122},"Not open source; licensing unclear",[123,127,131],{"id":124,"by":125,"text":126},"22764346","williamstein","Their website and marketing of this fact (is it a fact?) is very confusing or misleading. The comparison at https:\u002F\u002Fpdfjs.express\u002Fpdfjs-vs-express says \"PDF.js is an open-source…",{"id":128,"by":129,"text":130},"22765000","patrickaljord","PDF.js Express is not open source.",{"id":132,"by":125,"text":133},"22764387","Evidently I should clarify that by \"open source\", I mean \"released under an OSI approved license\" (https:\u002F\u002Fopensource.org\u002Flicenses). Maybe robocop2018 means \"open source\" in the…",{"value":135,"source":62,"evidence":136},"Does not support XFA forms",[137],{"id":138,"by":139,"text":135},"22764143","skratlo",{"value":141,"source":62,"evidence":142},"Form print output is a low-quality bitmap",[143],{"id":144,"by":145,"text":146},"22764177","phonon","The form fill demo only prints a bitmap. Is that intentional? The quality is completely unacceptable.",[148,153],{"value":149,"source":62,"evidence":150},"Usage-based or cheaper pricing tier",[151,152],{"id":112,"by":113,"text":114},{"id":116,"by":117,"text":118},{"value":154,"source":62,"evidence":155},"Discounts for startups and educational institutions",[156],{"id":116,"by":117,"text":118},[158,162],{"value":159,"source":62,"evidence":160},"Is it open source?",[161],{"id":124,"by":125,"text":126},{"value":163,"source":62,"evidence":164},"How long did it take to build and how large is the team?",[165],{"id":96,"by":97,"text":98},[167,174,181],{"value":168,"source":62,"evidence":169},"Syncfusion PDF viewer",[170],{"id":171,"by":172,"text":173},"22765747","social_quotient","How would this compare to something like syncfusion pdf viewer - https:\u002F\u002Fwww.syncfusion.com\u002Fangular-ui-components\u002Fangular-pdf-viewer It handles chopping up the pdf into pieces on…",{"value":175,"source":62,"evidence":176},"Adobe Acrobat",[177],{"id":178,"by":179,"text":180},"22766295","hanklazard","I literally needed this just a few hrs ago and instead had to resort to a free trial of adobe reader pro (ugh). I’ll check this out for next time, looks great.",{"value":182,"source":62,"evidence":183},"Photopea",[184],{"id":185,"by":186,"text":187},"22764987","IvanK_net","I spent about three years building the support for PDF into my graphics editor https:\u002F\u002Fwww.Photopea.com . While other editors \"add stuff on top of PDF\", Photopea \"chews through\"…",{"comments":189,"answered":41,"key":190},9,[191,192,195],{"id":76,"text":77},{"id":193,"text":194},"22764956","The biggest challenge to pricing based on volume is the exercise of tracking usage. In a typical SAAS product determining usages is fairly linear. For PDF.js Express because you…",{"id":196,"text":197},"22764949","Yes, unfortunately the printing is done with a bitmap because of the lack of browser APIs to print scalable canvas content. It looks like our default print quality is a bit on…",{"commenters":199,"max_depth":189,"maker_replies":189,"first_comment_mins":200,"lifespan_hours":201},66,23,87,[203,205,208,211,214,217,220,223,225,228,230,231,234,237,239,242,244,247,250,252,254,257,260,262,265,267,270,273,276,278,281,284,288,292,296,300,303,304,306,310,313,318,320,323,327,329,332,335,336,339,342,344,346,348,350,353,355,357,359,361,364,367,368,370,373,375,378,381,384,386,390,391,393,395,397,399,401,404,406,408,411,413,415,419,421,424,426,429,431,434,438,441,444,446,448,450,453,456,459,461,462,463,466,469,471,474,476,477,479,481,484,486,488,490,492,494,496,498,500,502,504,506,510,512,516,518,520,523,525,528,531,535],[185,38,38,204,186,38],"other\u002Fneutral\u002Fnone",[206,38,38,204,207,38],"22765098","Roritharr",[209,38,38,204,210,38],"22765288","osrec",[212,38,38,204,213,38],"22765418","lxe",[215,38,38,204,216,38],"22765739","chirau",[218,38,38,204,219,38],"22767653","ghego1",[221,38,38,204,222,38],"22765877","crazygringo",[224,38,38,204,186,38],"22767115",[226,38,38,204,227,38],"22767548","mkl",[229,38,38,204,186,38],"22768318",[178,38,38,204,179,38],[232,38,38,204,233,38],"22766551","chrischen",[235,38,38,204,236,38],"22766804","necovek",[238,38,38,204,233,38],"22767057",[240,38,38,204,241,38],"22767032","giansegato",[243,38,38,204,233,38],"22767047",[245,38,38,204,246,38],"22767414","filleokus",[248,38,38,204,249,38],"22766793","savolai",[251,38,38,204,186,38],"22768770",[253,38,38,204,249,38],"22769101",[255,38,38,204,256,38],"22767124","andreigaspar",[258,38,38,204,259,38],"22767206","hantusk",[261,38,38,204,219,38],"22767633",[263,38,38,204,264,38],"22767649","ash",[266,38,38,204,186,38],"22768763",[268,38,38,204,269,38],"22767772","neumann",[271,38,38,204,272,38],"22768934","blntechie",[274,38,38,204,275,38],"22779248","aledthemathguy",[277,38,38,204,186,38],"22784608",[279,38,38,204,280,38],"22791263","edjrage",[282,38,38,204,283,38],"22792903","folmar",[285,32,32,286,287,38],"22765475","project\u002Fcritical\u002Fdesign","martinald",[289,32,32,290,291,38],"22766808","project\u002Fcritical\u002Fidea","ct520",[293,32,32,294,295,38],"22767001","project\u002Fcritical\u002Fpricing","mkurz",[297,32,38,298,299,38],"22767545","commenter\u002Fneutral\u002Fnone","bassdigit",[301,40,38,204,302,38],"22764314","spankalee",[65,30,32,294,66,38],[76,30,38,305,10,32],"maker\u002Fneutral\u002Fpricing",[307,30,32,308,309,38],"22765379","project\u002Fcritical\u002Fnone","ipsum2",[311,30,32,308,312,38],"22765425","drannex",[314,30,315,316,317,38],"22765097",5,"project\u002Fpositive\u002Fpricing","robocop2018",[319,30,38,298,145,38],"22766165",[321,17,32,290,322,38],"22764205","antoineMoPa",[324,17,38,325,326,38],"22764656","commenter\u002Fneutral\u002Fidea","tyingq",[328,17,38,325,317,38],"22765114",[330,17,32,308,331,38],"22768372","lorenzhs",[333,17,30,334,317,38],"22782406","maker\u002Fneutral\u002Fnone",[112,315,32,294,113,38],[337,315,38,298,338,38],"22764338","cl42",[340,315,30,341,302,38],"22764352","project\u002Fneutral\u002Fidea",[343,315,38,325,338,38],"22764402",[345,315,30,334,113,38],"22764414",[347,315,32,290,125,38],"22764449",[349,315,32,294,113,38],"22764470",[351,315,30,352,227,38],"22764483","project\u002Fneutral\u002Fpricing",[354,315,30,352,66,38],"22764554",[356,315,38,204,125,38],"22765187",[358,315,38,298,317,38],"22775297",[360,315,38,298,145,38],"22775769",[362,315,38,204,363,38],"22764347","ChicagoBoy11",[365,315,38,298,366,38],"22764849","molsongolden",[193,315,38,305,10,32],[369,315,30,352,113,38],"22765436",[371,315,38,298,372,38],"22765895","lukevp",[374,315,30,352,117,38],"22766180",[376,315,30,352,377,38],"22767519","martin-adams",[379,45,32,380,145,38],"22764268","project\u002Fcritical\u002Fdocs",[382,45,30,383,125,38],"22764398","project\u002Fneutral\u002Fdocs",[385,45,30,383,145,38],"22764447",[387,41,30,388,389,38],"22767422","project\u002Fneutral\u002Fnone","itcrowd",[103,43,32,294,104,38],[392,43,30,388,291,38],"22766815",[394,43,30,388,104,38],"22770776",[396,43,38,298,291,38],"22773738",[398,43,38,298,104,38],"22776063",[400,43,30,388,291,38],"22780042",[402,43,32,308,403,38],"22768843","rusticpenn",[144,189,32,405,145,38],"project\u002Fcritical\u002Fexecution",[196,189,38,407,10,32],"maker\u002Fneutral\u002Fperformance",[409,189,32,410,145,38],"22765077","project\u002Fcritical\u002Fperformance",[412,189,32,405,145,38],"22765750",[69,414,32,294,70,38],10,[416,417,30,388,418,38],"22764154",11,"mmckelvy",[420,417,38,334,10,32],"22764937",[422,417,32,405,423,38],"22765061","saradhi",[425,417,32,405,317,38],"22765144",[427,417,38,204,428,38],"22766708","konfuzio",[171,430,30,388,172,38],12,[116,432,30,433,117,38],13,"project\u002Fmixed\u002Fpricing",[435,436,32,405,437,38],"22767375",14,"lucasverra",[96,439,315,440,97,38],15,"project\u002Fpositive\u002Fdesign",[442,439,38,204,443,38],"22764780","eob",[445,439,38,298,97,38],"22765496",[447,439,38,334,10,32],"22765088",[449,439,30,334,145,38],"22765158",[451,452,30,341,291,38],"22766829",16,[454,455,32,308,125,38],"22763936",17,[457,455,32,308,458,38],"22764090","coffeecat",[460,455,30,388,317,38],"22764139",[124,455,30,383,125,38],[132,455,32,380,125,38],[464,455,38,465,10,32],"22764967","maker\u002Fneutral\u002Fdocs",[467,455,30,465,468,38],"22765519","detaro",[470,455,30,465,317,38],"22775238",[472,455,32,380,473,38],"22766318","juuul",[475,455,32,380,227,38],"22767591",[128,455,32,380,129,38],[478,455,30,465,317,38],"22765367",[480,455,30,465,145,38],"22765698",[482,455,30,383,483,38],"22764409","ensignavenger",[485,455,30,465,317,38],"22775248",[487,455,30,334,145,38],"22764479",[489,455,38,334,10,32],"22765026",[491,455,38,298,145,38],"22765103",[493,455,30,465,317,38],"22765360",[495,455,32,380,145,38],"22765707",[497,455,30,465,317,38],"22775214",[499,455,32,380,145,38],"22775760",[501,455,32,380,227,38],"22767632",[138,503,32,405,139,38],18,[505,503,38,383,10,32],"22764931",[507,508,32,294,509,38],"22767804",19,"andrepd",[511,508,315,316,317,38],"22782513",[513,514,30,341,515,38],"22764001",20,"battery_cowboy",[517,514,30,341,317,38],"22764128",[519,514,38,298,468,38],"22764439",[521,514,38,298,522,38],"22764500","bdcravens",[524,514,38,298,468,38],"22764742",[526,514,38,527,10,32],"22764996","maker\u002Fneutral\u002Fidea",[529,514,32,530,515,38],"22765305","maker\u002Fcritical\u002Fidea",[532,533,38,204,534,38],"22766175",21,"animalnewbie",[536,533,38,204,537,38],"22768171","Lev1a",[],[540,545,550,554,558,563],{"id":541,"name":542,"points":543,"category":544},"22811653","FalsiScan",770,"productivity",{"id":546,"name":547,"points":548,"category":549},"22758217","Learn GNU Awk one-liners ebook",539,"languages",{"id":551,"name":552,"points":553,"category":549},"22776753","33 line React",418,{"id":555,"name":556,"points":557,"category":19},"22790425","DNS over Wikipedia",398,{"id":559,"name":560,"points":561,"category":562},"22777397","Treendly",343,"web_saas",{"id":564,"name":565,"points":566,"category":544},"22818300","Online Town",261,false,"v2",{"id":570,"name":5,"line":6,"ai":567,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":28,"top":17,"kw":571,"maker":10,"domain":572,"tier":18,"attempts":38,"strip":573,"url":-1,"mix":574,"praise":93,"objection":108,"sub":20},22763656,[23,24,25,26],"","0000000001113113100322311123311213311401",[30,31,32,33],1793991006342]