Re: [NTG-context] attachment attaches twice - more research
On 23-2-2011 12:35, Michail Vidiassov wrote: as far as I understand ConTeXt now can not link file attachment to arbitrary picture, just to some predefined icons. Am I right? you can use symbols (as with fields and other widgets) Is it going to change? Soon? There are comments in the code about lack of measurement support for XForm - is that the issue and what that issue is? unrelated, more a dev note I have already met that complaints in 3D Annotations support code. BTW, I am interested in FileAttachment Annotations as a way to work with 3D models. With LaTeX the main PDF file may contain a 2D picture, that can be displayed in any PDF viewer, but if you click on it in Adobe viewer attached PDF file opens with 3D model in it. That attached file may be produced by some third-party tool, since often such tools output not just 3D model fit for including in PDF, but a one-page PDF with the 3D model, complex JavaScript to control it (for example to animate it) and some intarctive text related to the model. I'm not sure what you mean here. There is some u3d and shockwave support. (I added u3d because someone asked it but the requester never tested it). Anyhow, these features are only extended when we (luigi and me) get proper public test files Concerning attachments, the next beta will have a new definition model with inheritance but the \use.. method is still there as well. The hidden method will not place an annotation. Definition is not really needed, so a direct \attachment works ok, but a bit of abstraction (separation between definition and use) does not hurt % old but stil valid method (consistent with other \use): % % \useattachment[test.tex] % \useattachment[whatever][test.tex] % \useattachment[whatever][newname][test.tex] % \useattachment[whatever][title][newname][test.tex] % % new method: % % \attachment[test.tex] % \attachment[whatever1][file=test.tex] % \attachment[whatever2][file=test.tex,method=hidden] % \attachment[whatever3][name=newname,file=test.tex] % \attachment[whatever4][title=mytitle,name=newname,file=test.tex] % % indirect % % \defineattachment[whatever5][file=test.tex] \attachment[whatever5][method=hidden] % \defineattachment[whatever5][file=test.tex,method=hidden] \attachment[whatever5] % % direct (no definitions) % % \attachment[test][file=oeps.tex,title=Oeps,author=Hans,subtitle=TeX File,method=hidden] % \attachment[label=test,file=oeps.tex,title=Oeps,author=Hans,subtitle=TeX File,method=hidden] % % autolabel: % % \attachment[file=oeps.tex,title=Oeps,author=Hans,subtitle=TeX File,method=hidden] % % % \setupattachments[\c!symbol={symbol-normal,symbol-down}] Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] attachment attaches twice - more research
Dear Hans, On Mon, 21 Feb 2011, Hans Hagen wrote: i'll patch lpdf-wid but somehow I get the impression that it's more a viewer issue (the list shown seems to be a merge of filename as well as symbolic names while a clever list builder should look at the referred objects) ... but maybe no one else usesvdifferent symbolic names (we had similar issues with fields in the past and even now advanced field support is somewhat bugged one or the other way, depending on the viewer version, esp chained ones) to say the truth I do not understand what are you talking about :( The issues I have in mind - separating global attachments and attachments linked to icons on pages, additional descriptions for attached files - are addressed in the attached patches. I am not sure about using attachment lebel as T key, that is indended for following: The text label that shall be displayed in the title bar of the annotation’s pop-up window when open and active. This entry shall identify the user who added the annotation. and shows as the upper line when mouse pointer is above attachment icon. Did not try to have file size and time information added to file stream - but it'd be nice to have. Sincerely, Michail PS. Patches show what I want done, not how it is to be done. Just hope that my lua may be more clear than my English.--- back-ini.lua.org2011-02-16 01:53:17.0 +0300 +++ back-ini.lua2011-02-23 09:17:50.0 +0300 @@ -67,6 +67,7 @@ registercomment= nothing, embedfile = nothing, +globattachfile = nothing, attachfile = nothing, attachmentid = nothing, --- scrn-int.mkiv.org 2011-01-31 13:26:23.0 +0300 +++ scrn-int.mkiv 2011-02-23 12:34:22.0 +0300 @@ -405,6 +405,25 @@ % % \setupattachments[\c!symbol={symbol-normal,symbol-down}] % % \starttext \attachment[whatever] \stoptext +% +% \globattachment[test.tex] +% \globattachment[description][test.tex] +% \globattachment[description][newname.tex][test.tex] + +\def\globattachment + {\dotripleempty\doglobattachment} + +\def\doglobattachment[#1][#2][#3]% description newfilename filename + {\ifthirdargument + \dodoglobattachment{#1}{#2}{#3}% + \else\ifsecondargument + \dodoglobattachment{#1}{}{#2}% + \else + \dodoglobattachment{}{}{#1}% + \fi\fi} + +\def\dodoglobattachment#1#2#3% description newfilename filename + {\ctxlua{backends.codeinjections.globattachfile{description=#1,newname=#2,filename=#3}}} \def\useattachment {\doquadrupleempty\douseattachment} --- lpdf-wid.lua.org2011-02-08 22:41:44.0 +0300 +++ lpdf-wid.lua2011-02-23 12:27:53.0 +0300 @@ -160,14 +160,14 @@ -- -local nofattachments, attachments, filestreams = 0, { }, { } +local nofattachments, attachments, filestreams, globfilestreams = 0, { }, { }, { } -- todo: hash and embed once local function flushembeddedfiles() -if next(filestreams) then +if next(globfilestreams) then local e = pdfarray() -for name, reference in next, filestreams do +for name, reference in next, globfilestreams do if reference then e[#e+1] = pdfstring(name) e[#e+1] = reference -- already a reference @@ -181,7 +181,7 @@ lpdf.registerdocumentfinalizer(flushembeddedfiles,embeddedfiles) -function codeinjections.embedfile(filename) +function codeinjections.embedfile(filename,newname,description) local r = filestreams[filename] if r == false then return nil @@ -201,12 +201,28 @@ UF = pdfstring(newname or basename), EF = pdfdictionary { F = pdfreference(f) }, } +if description then +d[Desc] = pdfstring(description) +end local r = pdfreference(pdfflushobject(d)) filestreams[filename] = r return r end end +function codeinjections.globattachfile(specification) +local filename = specification.filename +if not filename or filename == then +-- todo: message +return +end +local description = specification.description or +local newname = specification.newname or +if description == then description = nil end +if newname == then newname = nil end +globfilestreams[filename] = codeinjections.embedfile(filename,newname,description) +end + function codeinjections.attachfile(specification) local attachment = interactions.attachments.attachment(specification.label) if not attachment then @@ -239,6 +255,7 @@ AP = appearance, OC = analyzelayer(specification.layer), C= pdfcolorspec(specification.colormodel,specification.colorvalue), +T= pdfstring(label), } -- as soon as we can ask for the dimensions of an xform we can -- use them here ___ If
Re: [NTG-context] attachment attaches twice - more research
On 23-2-2011 11:21, Michail Vidiassov wrote: to say the truth I do not understand what are you talking about :( Attachments have some history in pdf and each version was slightly different. The same is true for widgets. Some of that has to do with security issues, some with the fact that acrobat editing interfaces always lag behind new features, etc. I gave up on advanced stuff when I noticed that custom visualizations had changed again. I'll have look at it but not this week (away for a few days). I also need to it with Luigi as he often has torture tests laying around. We also need to keep the a/x standards in mind. Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] attachment attaches twice - more research
Dear Hans, On Wed, 23 Feb 2011, Hans Hagen wrote: Attachments have some history in pdf and each version was slightly different. as far as I understand ConTeXt now can not link file attachment to arbitrary picture, just to some predefined icons. Am I right? Is it going to change? Soon? There are comments in the code about lack of measurement support for XForm - is that the issue and what that issue is? I have already met that complaints in 3D Annotations support code. BTW, I am interested in FileAttachment Annotations as a way to work with 3D models. With LaTeX the main PDF file may contain a 2D picture, that can be displayed in any PDF viewer, but if you click on it in Adobe viewer attached PDF file opens with 3D model in it. That attached file may be produced by some third-party tool, since often such tools output not just 3D model fit for including in PDF, but a one-page PDF with the 3D model, complex JavaScript to control it (for example to animate it) and some intarctive text related to the model. Sincerely, Michail ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] attachment attaches twice - more research
Dear Developers, On Sun, 20 Feb 2011, Michail Vidiassov wrote: to be precise, the attachment is attached once but is listed twice by Adobe Reader. PDF spec states -- An embedded file stream shall be included in a PDF document in one of the following ways: • Any file specification dictionary in the document may have an EF entry that specifies an embedded file stream. The stream data shall still be associated with a location in the file system. In particular, this method shall be used for file attachment annotations (see 12.5.6.15, File Attachment Annotations), which associate the embedded file with a location on a page in the document. • Embedded file streams may be associated with the document as a whole through the EmbeddedFiles entry (PDF 1.4) in the PDF document’s name dictionary (see 7.7.4, Name Dictionary). The associated name tree shall map name strings to file specifications that refer to embedded file streams through their EF entries. -- while code in lpdf-wid.lua sends everything to EmbeddedFiles - including files associated with a location on a page in the document as in the examples in the originator's post. For example http://www.microtype.com/showcase/EmbedFiles.pdf has it done correctly, EmbeddedFiles refers only to that embedded files that are not linked to particular icons on pages. Sincerely, Michail PS. did not experiment with patching lpdf-wid.lua myself yet...___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] attachment attaches twice - more research
On 20-2-2011 11:21, Michail Vidiassov wrote: Dear Developers, On Sun, 20 Feb 2011, Michail Vidiassov wrote: to be precise, the attachment is attached once but is listed twice by Adobe Reader. PDF spec states -- An embedded file stream shall be included in a PDF document in one of the following ways: • Any file specification dictionary in the document may have an EF entry that specifies an embedded file stream. The stream data shall still be associated with a location in the file system. In particular, this method shall be used for file attachment annotations (see 12.5.6.15, File Attachment Annotations), which associate the embedded file with a location on a page in the document. • Embedded file streams may be associated with the document as a whole through the EmbeddedFiles entry (PDF 1.4) in the PDF document’s name dictionary (see 7.7.4, Name Dictionary). The associated name tree shall map name strings to file specifications that refer to embedded file streams through their EF entries. -- while code in lpdf-wid.lua sends everything to EmbeddedFiles - including files associated with a location on a page in the document as in the examples in the originator's post. i'll patch lpdf-wid but somehow I get the impression that it's more a viewer issue (the list shown seems to be a merge of filename as well as symbolic names while a clever list builder should look at the referred objects) ... but maybe no one else usesvdifferent symbolic names (we had similar issues with fields in the past and even now advanced field support is somewhat bugged one or the other way, depending on the viewer version, esp chained ones) Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___