[{"data":1,"prerenderedAt":265},["ShallowReactive",2],{"project-14718485":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":34,"aspects":35,"strip":40,"post_text":42,"what":43,"said":70,"maker_in_thread":133,"shape":137,"grid":142,"attempts":226,"same_week":227,"maker_shows":33,"maker_hidden":257,"reader_version":258,"card":259},"14718485","chart-parser","Parsing horse racing charts with Apache PDFBox","title","Show HN: Parsing horse racing charts with Apache PDFBox","https:\u002F\u002Fgithub.com\u002Frobinhowlett\u002Fchart-parser","github.com","robinhowlett",1499437089,2017,115,31,377,2242,17,"notable","data","pdf data extraction","library",[24,25,26,21],"pdf parsing","horse racing","apache pdfbox","loved",0.318,{"positive":30,"neutral":31,"mixed":32,"critical":33},6,3,0,1,10,{"execution":36,"idea":38,"docs":39},{"positive":37,"critical":32},2,{"positive":37,"critical":33},{"positive":33,"critical":32},[32,31,32,41,41,41,32,32,32,32,32,32,32,32,33,41,41,32,32,31,32,41,32,32,32,32,32,32,32,32,31],5,null,{"problem":44,"audience":42,"pricing":42,"motivation":51,"time_to_build":42,"stack":55,"openness":68,"stage":69,"team_size":69},{"value":45,"source":46,"evidence":47},"Horse racing charts in PDF are hard to turn into structured data.","maker",[48],{"id":49,"by":11,"text":50},"14723997","Author here; well, PDFBox is good for simple text stripping. If I wanted to print all the text on the PDF, that would be very straightforward and not much code. However, the PDF…",{"value":52,"source":46,"evidence":53},"Wanted the chart content in structured format for JSON serialization and an SDK.",[54],{"id":49,"by":11,"text":50},[56,63],{"value":57,"source":58,"evidence":59},"Java","inferred",[60],{"id":61,"by":11,"text":62},"14724030","Yes I encountered similar issues but many of them were able to be solved. With PDFBox I was able to deal with the content at a very low level (on a per-character basis), so that…",{"value":64,"source":46,"evidence":65},"Apache PDFBox",[66,67],{"id":61,"by":11,"text":62},{"id":49,"by":11,"text":50},"open_source","unknown",{"praise":71,"objections":91,"requests":103,"questions":104,"alternatives":111},[72,80],{"value":73,"source":74,"evidence":75},"Good level of control over PDF content via PDFBox","commenter",[76],{"id":77,"by":78,"text":79},"14724071","tcho","Very cool, good to see the level of control this package allows.",{"value":81,"source":74,"evidence":82},"Impressive project and README",[83,87],{"id":84,"by":85,"text":86},"14722280","Cyph0n","Firstly, what an interesting library. Secondly, this is among the best TLDR readmes I've ever seen! I lack exposure to this area, so I'm actually quite impressed with the…",{"id":88,"by":89,"text":90},"14725548","0x445442","Great job! I was just looking at collecting race information and historical results data a month or two ago and was struck by the lack of available structured data. Heck, I…",[92],{"value":93,"source":74,"evidence":94},"PDF is a poor format for structured data",[95,99],{"id":96,"by":97,"text":98},"14722491","maxxxxx","I still don't understand how PDF could become one of the standards for publishing documents. Well structured content gets converted into PDF which loses most of that structure.…",{"id":100,"by":101,"text":102},"14722943","beager","Very neat, and gets me curious about PDFBox, but every time I see something that converts a consistent-layout PDF back to structured data, I just bemoan the fact that this would…",[],[105],{"value":106,"source":74,"evidence":107},"Can it be used for invoices?",[108],{"id":109,"by":110,"text":106},"14726862","ocrimgproc",[112,119,126],{"value":113,"source":74,"evidence":114},"pdfminer.six",[115],{"id":116,"by":117,"text":118},"14725658","tunaoftheland","I came across https:\u002F\u002Fgithub.com\u002Fpdfminer\u002Fpdfminer.six recently and was impressed with what it could get done. The documentation can be challenging to parse, so I relied on a…",{"value":120,"source":74,"evidence":121},"R pdftools",[122],{"id":123,"by":124,"text":125},"14723641","richiverse","As a python programmer, I found R's pdftools to be indispensable for messy text based PDFs. I couldn't find a python lib that worked as consistently across variously different…",{"value":127,"source":74,"evidence":128},"pdftk",[129],{"id":130,"by":131,"text":132},"14722823","bpicolo","Huh, interesting. I was looking around for PDF libs previously and PDFBox didn't show up in google results. pdftk was the only one that showed up in Google results anywhere…",{"comments":37,"answered":33,"key":134},[135,136],{"id":61,"text":62},{"id":49,"text":50},{"commenters":138,"max_depth":139,"maker_replies":37,"first_comment_mins":140,"lifespan_hours":141},22,7,220,43,[143,147,149,151,153,156,159,161,165,167,169,172,176,178,181,183,185,188,190,191,195,197,200,205,208,211,214,218,220,222,224],[144,32,32,145,146,32],"14722308","commenter\u002Fneutral\u002Fnone","joosters",[130,32,31,148,131,32],"project\u002Fneutral\u002Fnone",[61,32,32,150,11,33],"maker\u002Fpositive\u002Fexecution",[77,32,41,152,78,32],"project\u002Fpositive\u002Fexecution",[154,32,41,152,155,32],"14724169","jahewson",[157,32,41,158,146,32],"14726639","maker\u002Fpositive\u002Fnone",[96,33,32,160,97,32],"other\u002Fcritical\u002Fidea",[162,33,32,163,164,32],"14722722","other\u002Fneutral\u002Fidea","cpach",[166,33,32,163,101,32],"14722936",[168,33,32,160,97,32],"14723016",[170,33,32,163,171,32],"14723833","userbinator",[173,33,32,174,175,32],"14724583","other\u002Fneutral\u002Fdocs","amenghra",[177,33,32,163,155,32],"14724189",[179,33,32,163,180,32],"14728938","oever",[100,37,33,182,101,32],"project\u002Fcritical\u002Fidea",[88,31,41,184,89,32],"project\u002Fpositive\u002Fidea",[84,186,41,187,85,32],4,"maker\u002Fpositive\u002Fdocs",[123,41,32,189,124,32],"other\u002Fneutral\u002Fnone",[116,41,32,189,117,32],[192,30,31,193,194,32],"14723320","project\u002Fneutral\u002Fexecution","hbcondo714",[49,30,32,196,11,33],"maker\u002Fneutral\u002Fexecution",[198,139,41,184,199,32],"14722212","JabavuAdams",[201,202,32,203,204,32],"14720514",8,"other\u002Fneutral\u002Fdesign","vbuwivbiu",[206,202,32,203,207,32],"14721116","mpweiher",[209,202,32,210,204,32],"14721545","commenter\u002Fcritical\u002Fdesign",[212,202,32,210,213,32],"14721689","sk5t",[215,202,32,216,217,32],"14722069","commenter\u002Fneutral\u002Fdesign","grogenaut",[219,202,32,216,171,32],"14723895",[221,202,32,210,217,32],"14726184",[223,202,32,210,204,32],"14724175",[109,225,31,148,110,32],9,[],[228,233,238,243,248,252],{"id":229,"name":230,"points":231,"category":232},"14737118","Seashells",356,"dev_tools",{"id":234,"name":235,"points":236,"category":237},"14718051","Globe",258,"creative",{"id":239,"name":240,"points":241,"category":242},"14725878","darkmatter",180,"languages",{"id":244,"name":245,"points":246,"category":247},"14730354","crackcoin",171,"finance_crypto",{"id":249,"name":250,"points":251,"category":232},"14714386","Play with Kubernetes",164,{"id":253,"name":254,"points":255,"category":256},"14744331","BotEngine",124,"ai",false,"v2",{"id":260,"name":5,"line":6,"ai":257,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":261,"top":18,"kw":262,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":263,"url":9,"mix":264,"praise":73,"objection":93,"sub":21},14718485,0.32,[24,25,26,21],"0305550000000015500305000000003",[30,31,32,33],1793990961234]