IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2016/08/29)20160830 
sebras tor8 (for the logs): why does ffi_PDF_Object_readStream() call pdf_get_indirect_document()? pdf_get_bound_document() ought to do, no..?05:18.24 
  tor8 (for the logs): why does it call pdf_is_stream()? if the object is a dict without any stream it throws "object is not a stream" because stm_offs == 0. and if ffi_...() were to check the value from pdf_get_indirect_document() it would handle the case where the object is not an indirect object too.05:24.19 
  tor8: if we do it that way we let the underlying layers determine if the stream has the right type or not.05:29.55 
  tor8: on github/master there is a few commits that I think are ready. on github/wip there are a few more commits illustrating the direction I'm proceeding in.05:37.28 
tor8 sebras: just before my vacation I started doing some API cleanups, changing the use of object numbers into using indirect reference objects10:22.35 
  reducing the amount of pdf_to_num calls you have to do explicitly10:22.45 
  I never got around to doing that for the PDF stream opening/reading functions10:23.02 
  anyway, the difference between pdf_get_indirect_document and pdf_get_bound_document is subtle10:24.44 
  pdf_get_indirect_document gets the pdf_document, but only iff the object is an indirect reference10:25.02 
  pdf_get_bound_document also works for dictionaries and arrays10:25.19 
  PDFObject_readStream should only work with an indirect reference object as its argument10:25.47 
  why we do the pdf_is_stream call there rather than in pdf_open_stream ... I need to investigate10:28.23 
  it doesn't look like we do the proper error checking at that level, so the error messages could come out funky and that's why we do it10:28.44 
  you're right in that we ought to just call pdf_load_stream in PDFObject_readStream without the pdf_is_stream sanity check10:29.13 
sebras tor8: why only indirect refs?11:11.29 
  For streams that is.11:11.46 
tor8 sebras: you need the object number to open a stream. indirect references are how you have an object number.11:57.17 
sebras tor8: Hm... But a stream also has a dict with /Length and /Filter. Why couldn't I point to that object directly?12:05.09 
sebras has a slight feeling he forgot something very basic.12:05.31 
kens The dict is part of the stream, it has no separate object number12:05.47 
sunil_ Hello..13:49.31 
  is there any one online?13:49.40 
  Could you please tell me what was the solution for following issue, http://bugs.ghostscript.com/show_bug.cgi?id=69628413:49.54 
kens Upgrade ot the current source13:50.11 
  Or apply the commit listed in the report13:50.22 
sunil_ i am using mupdf 1.8.113:50.31 
  could you please share if you have any demo for digital signature on pdf 13:51.08 
kens You keep on asking for demo code, teh demo code is in the git archive, if its not there, we don;t have it13:51.48 
sunil_ actually i didn't get how to use methods in mupdf 1.913:52.37 
kens Can't help you with that.13:52.55 
sunil_ fz_context *ctx; pdf_document *doc; fz_rect rect = {0, 0, 300, 500}; pdf_page *page; pdf_widget *widget; fz_write_options opts = {0}; opts.do_incremental = 1; ctx = fz_new_context (NULL, NULL, 0); doc = pdf_open_document (ctx, filePath); /* Add a new page and create a signature form. */ page = pdf_create_page (ctx, doc, rect, 0, 0); pdf_insert_page (ctx, doc, page, INT13:53.13 
  signing not happening 13:53.27 
HenryStiles yeah paul had something working on ios, signing is definitely part of fred's work on mupdf so we'll have something complete and tested probably q4 sometime.13:55.13 
  oh he left13:55.45 
sunil_ is there any mupdf developer?13:57.19 
kens sunil_ : are you a commercial cusotmer or ahaveyou a support contract ?13:58.00 
  s/cusotmer/customer/13:58.14 
sunil_ open source developer13:58.54 
kens Well, MuPDF is supplied 'as is' without support.13:59.13 
  If yo uhave a bug then we will fix it.13:59.36 
  If you have a question other than 'write the code for me' we will try to asnswer it as time permits13:59.52 
  As I said above, the example code is checked into our Git reporsitory, if its nto there, we don't have any.14:00.34 
HenryStiles sunil_: what your email address's domain in says emudhra, are you not working for them and using mupdf?14:00.45 
sunil_ i am dying here buddies..14:44.13 
  no one is helping :(14:44.23 
  just i want simple demo for signature 14:44.36 
HenryStiles sunil_: you didn't answer my question14:44.42 
sunil_ i am freelancer and open source developer14:45.12 
  i am ios developer 14:45.37 
kens OK so whats the purpose of your development ? WHy do you want to sign a PDF ?14:45.40 
sunil_ taking doctors appointment 14:47.52 
kens I don't really see why you need to sign a PDF for that14:48.13 
sunil_ error: No font name in default appearance uncaught exception: No font name in default appearance14:50.27 
Keshava can you any1 help on mupdf14:52.46 
  for digital signing PDF14:52.55 
kens : What another one ?14:53.01 
  If you have a question, please go ahead and ask it14:53.48 
Keshava i'm not able to sign pdf using mupdf... so can i get some sample code 14:54.34 
kens As I just finished telling sunil_, the example code is in the Git repository, if you want example code that isn't there, then it doesn't exist14:55.51 
sunil_ hi14:58.13 
ghostbot Welcome to #ghostscript, the channel for Ghostscript and MuPDF. If you have a question, please ask it, don't ask to ask it. Do be prepared to wait for a reply as devs will check the logs and reply when they come on line.14:58.13 
sunil_ Hello kens14:58.43 
ray_laptop sunil_: maybe you and Keshava can help each other :-)14:58.52 
sunil_ kens is there any subscription modle for getting complete support14:59.53 
ray_laptop sunil_: Keshava: if you develop sample code for digital signing for a particular platform, we'll be glad to consider adding it to our examples15:00.14 
kens sunil_ : We do support contracts for commercial customers, you'd have to contact sales@artifex.com. However, if you are an opensource developer I suspect that will be outside your budget.15:00.38 
ray_laptop sunil_: we offer support contracts to some customers, but it is for bugs, not for development15:01.03 
  sunil_: sometimes we also take on NRE (paid development) contracts, particularly if the development is something we eventually want to do and a customer wants to accelerate the schedule15:02.25 
sunil_ we are looking for IOS platform, where we are facing in creation of digital signing. 15:02.52 
ray_laptop sunil_: for NRE or other contract issues, please contact sales@artifex.com and describe your needs 15:03.29 
HenryStiles so you are doing an open source project as a consultant for this company: http://www.e-mudhra.com/? Is that correct?15:03.48 
tor8 how does that even work, open source development for iOS when you don't own the copyright to the whole code base?15:06.06 
  I thought the apple terms of license were incompatible with GPL15:06.23 
ray_laptop tor8: you can still use GPL code on an iOS device internal to your company, but putting it on the Apple store doesn't work, AIUI15:07.47 
sunil_ no it is only for our internal purpose... I wanted to know how exactly these licensing part works for IOS platform15:09.46 
sebras sunil_: so... why does e-mudhra need an open source ios app for signing your doctors appointment?15:14.48 
sunil_ its actually for employee appointment 15:20.27 
kens Then why do you need to sign the PDF ?15:20.41 
sunil_ on form 1615:20.57 
  to go paper less15:21.20 
kens I'm afraid form 16 doesn't mean anything to us15:21.27 
  If the whole thing is internal I can't see why you need to sign the PDF15:21.50 
sunil_ these appointment forms and appraisal forms where issued in the form of physical copy to employees.. in order to overcome we wanted to use digital signing 15:23.29 
  so that physical papers will not be wasted15:23.41 
  since any digitally signed documents are legally valid15:24.05 
sebras sunil_: if you are doing consultancy work for a company (or work for the company itself) then I'm sure the company can negotiate a commercial license with sales@artifex.com to have mupdf devs help you. if you are an open source developer I think you need to spend more effort in trying to resolve this yourself. and please adhere to the license.15:28.37 
sunil_ if a take commercial license can I publish modified IOS app to app store15:30.36 
  If I a take commercial license can I publish modified IOS app to app store15:31.02 
sebras sunil_: I believe so, but please ask that question to sales@artifex.com. I'm not an expert on licensing.15:31.33 
tor8 sunil_: the android app has pdf signing code, so that's where you'll need to look for an example.15:38.02 
ray_laptop sunil_: Our commercial license generally does allow the resulting product to be put on the Apple store without the need to provide source. Since Artifex owns the copyright to muPDF, we are able to also offer a commercial license as an alternative to the AGPL15:39.48 
tor8 sebras: no good reason.15:40.11 
sebras tor8: ok, because I was confused when trying to rewrite the JNI code earlier today. the two big fz_try()s...15:40.52 
tor8 yeah. the whole annotation loading/iteration thing could be reworked if it's too cumbersome15:41.11 
  the thing is, we want to be robust in terms of creating and deleting annotations, which is why we opted for an iterator rather than 'load'15:41.40 
sebras tor8: no, no. I managed to sort it out in the end, but I was just puzzled as to what was fundamentally different between links and annotations.15:42.02 
tor8 fz_links are read-only, loaded when you want them. annotations are an integral part of a page, loaded along with the page.15:42.29 
  since annotations are needed to render the page15:42.35 
  we should remove the fz_link structure though, but that's for much later.15:43.00 
  since it duplicates what annotations already do, so there's a bit of confusion and possibility of getting things messed up when editing.15:43.27 
sebras tor8: ok, so you want to guard against iterating annotations and creating/deleting them in parallel?15:43.52 
  tor8: right.\15:44.00 
tor8 sebras: and now, the JNI binding getAnnotations() has thrown everything into disarray15:46.39 
sebras tor8: yes, because basically it returns a list of refs to each annotation on the page.15:48.31 
  tor8: re: reviwing, do you need it? I want it. :)15:48.48 
tor8 sebras: I've reviewed all but the last on sebras-gh/master, they LGTM15:51.33 
  will look at sebras/wip tomorrow15:51.39 
sebras tor8: ok, I have changed a few according to comments and changes that became apparent at a later stage.15:52.21 
  tor8: on sebras-gh/master.15:52.31 
  tor8: just so you know that that branch is a moving target.15:52.42 
  tor8: but I really want to get them merged. :)15:53.03 
  tor8: I'll take a look at tor/master tomorrow as ty.15:56.50 
sebras sleeps.15:56.58 
fredross-perry tor8: in PDFAnnotation, why have enumerated types, and getType()? Are you trying to avoid the caller having to downcast (xxx instance of type) ?16:47.54 
  tor8: I like where this is going. Should we have an intermediate class for markup annotations? When I read "common to all...", sounds like a class to me.16:58.22 
tor8 fredross-perry: 'markup annotations' are a special class of annotations, and yes, should probably add an intermediate subclass there too20:20.06 
  but 90% of the annotations are 'markup' annotations20:20.19 
  fredross-perry: we can probably get away with not exposing the getType20:20.58 
fredross-perry That's cool. Thanks.20:21.24 
 Forward 1 day (to 2016/08/31)>>> 
ghostscript.com
Search: