Hi , So I looked into poppler and its licence fee is not really within my reach .
I am evaluating the possibilities to take some time to write support for more font subtype into Podofo. my current need would really be about reading font geometry information ( glyph width and line spacing ) in order to detect word bounds on screen. would you be able to estimate how much time that could take ? provided that I am an experienced c++ developer (10+ years) ? I really just need to know if this is something that might be done in 50h or less or more like 100h+ ? I have a limited amount of time to complete this project and I wouldn't be able to afford much more that 50h I think . Thanks a lot for your Help . Damien > Hi, > > No, I am afraid. To draw a box around the font, you will need to be able to > access the glyph width of the font to determine the actual width of the box > you have to draw. I cannot think of another way to achieve that. > You might want to look at poppler, as this library is more oriented towards > rendering and might give you better access to font metrics. > > Best regards, > Dom > > Am Montag 03 Mai 2010 schrieb xteo: > >> This is great News !! >> >> Make sense I have been reading the PDF spec and other kind of annotation >> are not too hard to implement directly , but once I there if I build nice >> getter I will contribute them ;) >> >> hopefully this works out well , and once my application link against Podofo >> it will tempting to sort my font problem. >> >> I have a small question , not more PDF than PoDoFo related but if you have >> an idea it would be really nice, >> >> do you know what is the general approach to highlight the text of a search >> result ? at the moment I am trying something like scanning the text and >> when I find the text I am looking for trying to locate its bound on screen >> and create a semi transparent Box around it . >> my approach current fail because without font I can not locate the text in >> the screen with accurately . do you know if there is a better/simpler way >> ? >> >> just fishing really :) >> >> Thanks a lot for your help >> >> Damien >> >> On 3 May 2010, at 23:08, Dominik Seichter wrote: >> >>> Hi, >>> >>> Opening existing PDF files, adding annotations to them and saving them is >>> perfectly doable using PoDoFo, even if for example font encodings are not >>> supported directly. >>> >>> PoDoFo supports any kind of PDF annotation, only the basic ones are >>> supported using the API though. You can create any other annotation by >>> adding the keys and values described in the PDF Reference to the >>> dictionary returned by PdfAnnotation::GetObject()->GetDictionary(). >>> >>> Adding API support for other annotations is merely a matter of adding >>> getters and setters for the keys and values you would add otherwise >>> directly to the dictionary as described above. >>> >>> Best regards, >>> Dom >>> >>> Am Montag 03 Mai 2010 schrieb xteo: >>> >>>> Hi , >>>> >>>> I need to asses how much time doing this plus implementing it into my >>>> app is gonna take before I start going that direction, but I think its >>>> something I might be able to do. >>>> I have currently left this feature on my "Maybe list" until I can see if >>>> I will have time . >>>> >>>> looking at the feature set of PoDoFo I was also very interested into the >>>> Annotation feature . >>>> >>>> here is was I would like to be able to do : >>>> >>>> Open a PDF >>>> go to specific pages and add Annotation ( of several kinds ) and save >>>> back the PDF . >>>> >>>> is that something PoDoFo can do ? even if some part of the documents ( >>>> like fonts ) are not supported by PoDoFo ? >>>> >>>> reading the documentation and the code I notice that not all Annotation >>>> type are supported, if that still the case. It seams that the basic one >>>> are supported already that is great, how much work is involve in >>>> supporting some other one ? I can't really see what is missing ? >>>> >>>> Thanks a lot >>>> >>>> Damien >>>> >>>> On 3 May 2010, at 22:35, Dominik Seichter wrote: >>>> >>>>> Hi, >>>>> >>>>> I think the issue is always that PdfEncodingFactory is unable to create >>>>> a encoding for most fonts. I changed current SVN to throw an exception >>>>> instead of returning a NULL pointer. This should prevent the crashes, >>>>> at least. >>>>> >>>>> If you really need this feature, I suggest fixing PdfEncodingFactory to >>>>> be able to create the encodings used in your fonts. >>>>> Still, there might be some changes necessary to PdfFontMetrics to allow >>>>> creating every kind of font from the font data embedded in the PDF >>>>> file, but I think getting the encodings done is the first step. >>>>> >>>>> Best regards, >>>>> Dom >>>>> >>>>> Am Sonntag 02 Mai 2010 schrieb xteo: >>>>> >>>>>> Hi >>>>>> >>>>>> I was looking into it more yesterday night and also found some case >>>>>> where TrueType font are crashing >>>>>> >>>>>> Currently the main reason I would like to have the font is to >>>>>> determine the length of the character into a BT/ET block >>>>>> >>>>>> I have search functionality in my app where I have a copy of the text >>>>>> per page and search that , but once I take the user to the right page >>>>>> l would like to highlight the search result block >>>>>> >>>>>> At the moment i can scan manually the code to get the start location >>>>>> of each text block and their size but without the font information I >>>>>> can't find where the text end , also if my search result was in the >>>>>> middle of a text block I would need to calculate where the part of the >>>>>> text I need to highlight start >>>>>> >>>>>> Once have figure that out I think it will also be quite easy to >>>>>> implement annotation in my application and also text selection / copy >>>>>> >>>>>> Maybe there is an other way to do that ? This is the only information >>>>>> that I really need from the font , the width of each char >>>>>> >>>>>> Thanks a lot for this library , I hope I can successfully integrate it >>>>>> into my project and hopefully contribute some code or fixes >>>>>> >>>>>> Damien >>>>>> >>>>>> >>>>>> >>>>>> Sent from my iPad >>>>>> >>>>>> On 2 May 2010, at 11:38, Dominik Seichter <[email protected]> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> The relevant code, where PdfFontCID ist called with a NULL >>>>>>> PdfEncoding is only called, when you try to construct a PdfFont from >>>>>>> an existing object in a PDF file. Support for this is not very good. >>>>>>> It works with simple fonts, but PoDoFo is currently not able to >>>>>>> consturct the encoding for a CID font from a PDF file. So, PoDoFo >>>>>>> should not crash in this case, but maybe throw an exception that this >>>>>>> is not supported. >>>>>>> >>>>>>> What do you want to do excactly? Maybe we can find another solution. >>>>>>> >>>>>>> Best regards, >>>>>>> Dominik >>>>>>> >>>>>>> Am Sonntag 02 Mai 2010 schrieb xteo: >>>>>>> >>>>>>>> Hi , >>>>>>>> >>>>>>>> I have recently started looking at podofo for one of my project that >>>>>>>> need PDF support . >>>>>>>> >>>>>>>> It look like a really great library !! >>>>>>>> >>>>>>>> to get started and make sure all was working , >>>>>>>> I builded the library in my project and replicate the code from the >>>>>>>> code that extract the text from a PDF . >>>>>>>> >>>>>>>> version downloaded from the website : 0.8.0 compiled on Mac . >>>>>>>> >>>>>>>> on some PDF its working fine and I get what I expect but on some >>>>>>>> other it crash . >>>>>>>> >>>>>>>> I have looked into it and fond the cause but I am missing a little >>>>>>>> bit of context to try to fix it : >>>>>>>> >>>>>>>> int : PdfFontFactory.cpp >>>>>>>> >>>>>>>> PdfFont* PdfFontFactory::CreateFont( FT_Library* pLibrary, >>>>>>>> PdfObject* pObject ) { >>>>>>>> ...... >>>>>>>> >>>>>>>> pFont = new PdfFontCID( pMetrics, NULL, pObject, false ); >>>>>>>> >>>>>>>> } >>>>>>>> >>>>>>>> This create a PdfFontCID with a NULL pPdfEncoding. >>>>>>>> >>>>>>>> This later leads to issue in the constructor when void >>>>>>>> PdfFontCID::Init( bool bEmbed ) is called and m_pEncoding is NULL . >>>>>>>> >>>>>>>> // The encoding is here usually a (Predefined) CMap from >>>>>>>> PdfIdentityEncoding: m_pEncoding->AddToDictionary( >>>>>>>> m_pObject->GetDictionary() ); >>>>>>>> ^^^^^^^^^^^ is NULL >>>>>>>> >>>>>>>> I am not sure what to make of the comment , I have try to pass >>>>>>>> various encoding to PdfFontCID , but didn't managed to fix the >>>>>>>> problem . >>>>>>>> >>>>>>>> Please let me know if there is anything ovious that I am missing . >>>>>>>> >>>>>>>> Damien >>>>>>>> > > > -- Damien FAGNOU xTeo Ltd. Software at your fingertips London , UK ------------------------------------------------------------------------------ _______________________________________________ Podofo-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/podofo-users
