[{"data":1,"prerenderedAt":458},["ShallowReactive",2],{"project-23366532":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":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":45,"post_text":47,"what":48,"said":84,"maker_in_thread":211,"shape":220,"grid":223,"attempts":420,"same_week":421,"maker_shows":41,"maker_hidden":450,"reader_version":451,"card":452},"23366532","Simpdf","A simple PDF text editor","title","Show HN: I made a simple PDF text editor","https:\u002F\u002Fsimpdf.com\u002F","simpdf.com","shashanoid",1590889843,2020,327,74,119,3028,4,"legend","dev_tools","pdf editor","web_app",[21,24,25,26],"edit pdf text","pdf to html","pdf tool","mixed",-0.291,{"positive":18,"neutral":30,"mixed":31,"critical":32},12,2,15,33,{"execution":35,"idea":37,"privacy":39,"docs":42,"performance":43,"design":44},{"positive":31,"critical":36},7,{"positive":38,"critical":31},1,{"positive":40,"critical":41},0,3,{"positive":40,"critical":40},{"positive":38,"critical":31},{"positive":40,"critical":40},[38,40,40,41,41,40,40,40,40,40,41,38,38,40,40,40,40,38,38,46,40,38,38,38,38,46,38,40,38,40,40,41,40,40,46,41,41,38,41,41],5,null,{"problem":49,"audience":47,"pricing":47,"motivation":47,"time_to_build":47,"stack":61,"openness":81,"stage":82,"team_size":83},{"value":50,"source":51,"evidence":52},"Editing text inside existing PDF files","inferred",[53,57],{"id":54,"by":55,"text":56},"23369299","jfk13","So it claims to > Edit pdf like a word doc while preserving structure and format. While I'm sure there are cases where this works pretty well and can be very useful, it may be…",{"id":58,"by":59,"text":60},"23367758","gnicholas","I tried using this with an invoice that I'd created using invoice-generator.com, in the hopes that it would be an easier way to make new invoices. When I tried to replace the To…",[62,73],{"value":63,"source":64,"evidence":65},"pdf2htmlEX (called on the server)","maker",[66,70],{"id":67,"by":68,"text":69},"23366751","dellinspiron","It just calls https:\u002F\u002Fgithub.com\u002Fpdf2htmlEX\u002Fpdf2htmlEX on the server.",{"id":71,"by":11,"text":72},"23367099","Hey, there's nothing complex going on. I'm using a tool to convert pdf to html, and it does a phenomenal job.",{"value":74,"source":75,"evidence":76},"Python backend","commenter",[77],{"id":78,"by":79,"text":80},"23366785","hombre_fatal","https:\u002F\u002Fgithub.com\u002Fshashanoid\u002FSimpdf\u002Fblob\u002F1557bf838a8debeee1a6f21c12ee3e91c420b855\u002Fbackend\u002Frun.py#L31 Btw, arbitrary code execution vuln here, OP.","open_source","launched","solo",{"praise":85,"objections":111,"requests":145,"questions":171,"alternatives":176},[86,101],{"value":87,"source":75,"evidence":88},"Handles complex PDFs well",[89,93,97],{"id":90,"by":91,"text":92},"23366695","mhasbini","I tried it with a bit complex pdf structure and it worked like charm +1. Would love to learn more about the underlying techniques\u002Ftech.",{"id":94,"by":95,"text":96},"23366880","smhmd","I tried it with a relatively complex pdf and it blew my mind.",{"id":98,"by":99,"text":100},"23366851","schoolornot","A little glitchy with complex PDFs but WOW, amazing work!",{"value":102,"source":75,"evidence":103},"Useful for small edits and templates",[104,107],{"id":105,"by":59,"text":106},"23372974","> Most likely, the PDF used a subsetted embedded bold font, so it only worked for letters that happened to be present in the original text; any new letters were missing from the…",{"id":108,"by":109,"text":110},"23370765","Hoasi","Neat, would be useful for students' homework.",[112,119,126,134],{"value":113,"source":75,"evidence":114},"PDF text editing can't reliably handle missing glyphs or reflow",[115,116],{"id":54,"by":55,"text":56},{"id":117,"by":55,"text":118},"23369315","> When I tried to replace the To party's name, the text came back partly bold and partly not. Most likely, the PDF used a subsetted embedded bold font, so it only worked for…",{"value":120,"source":75,"evidence":121},"Multi-column layouts break and text overwrites",[122],{"id":123,"by":124,"text":125},"23367831","michaelmrose","A few notes. It doesn't seem to work with documents that have multiple columns. Pushing text over just overwrites the other column. It doesn't seem to reflow text where the…",{"value":127,"source":75,"evidence":128},"Arbitrary code execution risk in backend filename handling",[129,130],{"id":78,"by":79,"text":80},{"id":131,"by":132,"text":133},"23367403","chipperyman573","You could create a file named ; echo 'hi'; # and it appears as if it would probably run anything you put between ; and # (in this case it will echo hi). Unless the filename is…",{"value":135,"source":75,"evidence":136},"Server instability and downtime under traffic",[137,141],{"id":138,"by":139,"text":140},"23367250","yodaarjun","hackernews traffic crashed the host :( Cant wait to try tho!",{"id":142,"by":143,"text":144},"23367117","mamurphy","The website isn't loading anything for me right now.",[146,153,164],{"value":147,"source":75,"evidence":148},"Provide a sample PDF",[149],{"id":150,"by":151,"text":152},"23366805","throwawat573635","You should provide a sample pdf file so we don't have to hunt around for a (small) pdf file just to see how it works.",{"value":154,"source":75,"evidence":155},"Fix save and download",[156,160],{"id":157,"by":158,"text":159},"23370276","koulvi","I used this to delete a few pages from a pdf file. However, I can't download the edited version. The \"save and download\" option is just resulting in opening another blank webpage.",{"id":161,"by":162,"text":163},"23367484","kyawzazaw","I love it. How do I save it?",{"value":165,"source":75,"evidence":166},"Run locally",[167],{"id":168,"by":169,"text":170},"23367570","dheera","Now I just wish there were a version that could run locally. All the Linux PDF viewers suck -- they can't even save a fill-in PDF form or insert a signature.",[172],{"value":173,"source":75,"evidence":174},"How does it work technically",[175],{"id":90,"by":91,"text":92},[177,183,190,197,204],{"value":178,"source":75,"evidence":179},"Okular",[180],{"id":181,"by":124,"text":182},"23368152","There are actually a plethora of choices that are great for what most people are doing namely viewing documents. Forms and annotations are also supported by a number of choices.…",{"value":184,"source":75,"evidence":185},"Master PDF Editor",[186],{"id":187,"by":188,"text":189},"23367685","mrb","I spent an afternoon trying a bunch of them some years ago. I settled on the freeware Master PDF Editor version 4 (version 5 inserts a watermark unless you buy a license).…",{"value":191,"source":75,"evidence":192},"Qoppa PDF Studio",[193],{"id":194,"by":195,"text":196},"23367588","jack20","The best editor I’ve found is Qoppa PDF Studio. Although not free it is cross-platform (written in Java) and their licenses are perpetual. They do have a free viewer app which…",{"value":198,"source":75,"evidence":199},"Inkscape",[200],{"id":201,"by":202,"text":203},"23368160","x32n23nr","Congratulations for the launch. Looks nice. For those that are cautious uploading sensitive PDFs, you can always just open them with Inkscape, and start editing pretty much…",{"value":205,"source":75,"evidence":206},"Xournal",[207],{"id":208,"by":209,"text":210},"23367810","BossingAround","Try xournal. I had a really positive experience with it.",{"comments":41,"answered":40,"key":212},[213,216,217],{"id":214,"text":215},"23366533","Hi, I bootstrapped this simple website. Let me know what you think :)",{"id":71,"text":72},{"id":218,"text":219},"23367429","It's back up again.",{"commenters":221,"max_depth":18,"maker_replies":41,"first_comment_mins":40,"lifespan_hours":222},64,55,[224,226,230,234,237,241,245,248,250,253,255,258,261,264,267,270,272,275,278,281,285,287,291,292,295,298,301,304,307,310,313,314,315,316,317,320,322,324,327,329,330,333,336,337,338,342,345,348,350,354,357,360,362,366,368,369,370,373,375,379,382,383,386,388,390,393,395,399,403,405,408,410,413,416],[54,40,38,225,55,40],"project\u002Fcritical\u002Fexecution",[227,40,40,228,229,40],"23369684","commenter\u002Fneutral\u002Fnone","saint-loup",[231,40,40,232,233,40],"23369760","other\u002Fneutral\u002Fnone","mehrdadn",[235,40,40,232,236,40],"23369961","_chompsky",[238,40,40,239,240,40],"23378767","other\u002Fneutral\u002Fidea","Tsiklon",[242,40,41,243,244,40],"23370577","project\u002Fneutral\u002Fidea","bla3",[246,40,41,243,247,40],"23370733","blitmap",[201,38,41,249,202,40],"project\u002Fmixed\u002Fprivacy",[251,38,40,232,252,40],"23368248","Flashtoo",[254,38,40,232,202,40],"23368288",[256,38,40,232,257,40],"23368762","lowwave",[259,38,40,228,260,40],"23368908","maaarghk",[262,38,40,228,263,40],"23369493","AbuAssar",[265,38,40,228,266,40],"23369685","emayljames",[268,38,40,228,269,40],"23377248","pacamara619",[271,38,40,232,257,40],"23377530",[273,38,40,232,274,40],"23369911","citizenkeen",[276,38,40,228,277,40],"23389140","alok-g",[279,38,40,232,280,40],"23369162","flak48",[282,38,41,283,284,40],"23369377","project\u002Fneutral\u002Fprivacy","agumonkey",[150,31,41,286,151,40],"maker\u002Fneutral\u002Fdocs",[288,41,38,289,290,40],"23368956","project\u002Fcritical\u002Fidea","jessmay",[58,18,38,225,59,40],[293,18,40,232,294,40],"23367768","punnerud",[296,18,40,228,297,40],"23367978","londons_explore",[299,18,40,228,300,40],"23367995","DanBC",[302,18,40,228,303,40],"23368002","J_cst",[305,18,40,232,306,40],"23368130","killerpopiller",[308,18,40,232,309,40],"23368996","corty",[311,18,40,232,312,40],"23368819","AnssiH",[208,18,40,232,209,40],[117,18,38,289,55,40],[105,18,40,228,59,40],[123,46,38,225,124,40],[214,318,40,319,11,38],6,"maker\u002Fneutral\u002Fnone",[90,318,46,321,91,40],"project\u002Fpositive\u002Fexecution",[67,318,41,323,68,40],"project\u002Fneutral\u002Fexecution",[325,318,40,228,326,40],"23366971","echan00",[131,318,38,328,132,40],"project\u002Fcritical\u002Fprivacy",[78,318,38,328,79,40],[331,318,38,328,332,40],"23366846","parhamn",[334,318,41,283,335,40],"23367101","miccah",[71,318,40,319,11,38],[157,318,38,225,158,40],[339,36,38,340,341,40],"23367158","project\u002Fcritical\u002Fnone","longtom",[343,36,40,232,344,40],"23367200","userbinator",[346,36,40,232,347,40],"23368363","Fission",[94,349,46,321,95,40],8,[351,352,38,225,353,40],"23367640",9,"ray991",[355,352,40,232,356,40],"23368347","dmoo",[358,352,40,232,359,40],"23368984","saradhi",[361,352,40,232,55,40],"23369676",[363,364,38,225,365,40],"23368567",10,"illender",[168,367,40,232,169,40],11,[194,367,40,232,195,40],[187,367,40,232,188,40],[371,367,40,232,372,40],"23367793","bmn__",[374,367,40,232,209,40],"23367816",[376,367,41,377,378,40],"23367833","project\u002Fneutral\u002Fnone","tjbiddle",[380,367,40,232,381,40],"23368061","distances",[181,367,40,228,124,40],[384,367,40,228,385,40],"23369314","Scarblac",[138,30,46,387,139,40],"project\u002Fpositive\u002Fperformance",[161,389,41,323,162,40],13,[391,389,41,323,392,40],"23367544","jnlar",[394,389,41,323,169,40],"23367565",[396,389,41,397,398,40],"23367874","project\u002Fneutral\u002Fdesign","zoid_",[400,401,41,377,402,40],"23376445",14,"top_kekeroni_m8",[142,32,38,404,143,40],"project\u002Fcritical\u002Fperformance",[406,32,38,404,407,40],"23367252","salutonmundo",[218,32,40,409,11,38],"maker\u002Fneutral\u002Fperformance",[98,411,41,412,99,40],16,"project\u002Fmixed\u002Fexecution",[108,414,46,415,109,40],17,"project\u002Fpositive\u002Fidea",[417,418,38,225,419,40],"23366830",18,"oxbridge",[],[422,426,431,436,441,445],{"id":423,"name":424,"points":425,"category":20},"23339244","RoughNotation",696,{"id":427,"name":428,"points":429,"category":430},"23370646","WiFi Card",305,"productivity",{"id":432,"name":433,"points":434,"category":435},"23392049","HN Blogs",289,"learning_science",{"id":437,"name":438,"points":439,"category":440},"23408144","Virus Cafe",278,"consumer_social",{"id":442,"name":443,"points":444,"category":20},"23363767","git-fuzzy",251,{"id":446,"name":447,"points":448,"category":449},"23407643","Stock Performance of US Senators",246,"finance_crypto",false,"v2",{"id":453,"name":5,"line":6,"ai":450,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":454,"top":18,"kw":455,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":456,"url":9,"mix":457,"praise":87,"objection":113,"sub":21},23366532,-0.29,[21,24,25,26],"1003300000311000011501111510100300533133",[18,30,31,32],1794036591344]