cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Did you get called away in the middle of writing a post? Don't worry you can find your unfinished post later in the Drafts section of your profile page. X

PDF bookmarks in SGML

ptc-953926
1-Newbie

PDF bookmarks in SGML

Adepters:


In our primary publishing environment, we’re using XML source and generating PDFs using PE 5.3 and the direct-to-PDF process. I know exactly how to control the PDF bookmarks using the atidmd namespace and markup in the FOSI and XML source file. Now, I’m needing to generate a PDF from a legacy SGML book and so far I’m able to use the direct-to-PDF process to generate a nice PDF. However, I’m getting the default PDF bookmark setup wherein the bookmark TOC is not displayed at startup and when displayed, everything is expanded. Is it possible to use the atidmd markup in an SGML document sent to PE? I’ve dug into the Arbortext help to no avail. I would think there would need to be an SGML DTD fragment for that markup. Or are there other tricks?


Any help or advice is appreciated.


Dave Hintz


Siemens

3 REPLIES 3
cleccese
6-Contributor
(To:ptc-953926)

Hi Dave, could you share your code for the XML pdf bookmarks because I'm having the opposite problem. I got the bookmark to show up in a sgml file with a Styler 5.4 style sheet but not xml using a .fos style sheet.


Here are the usetexts from my top level tag: (<doc> in the sgml file but <production> in the xml file. I don't know if that makes a difference.)


<usetext<br/> source='!<atidmd:documentmetadata source="atend">


    <atidmd:docview mode="bookmarks" fit="fitPage" destination="">
</atidmd:docview>

</atidmd:documentmetadata>!' placemnt="before"></usetext>

<usetext<br/> source="!<atidmd:documentmetadata>
<atidmd:docinfo>
<atidmd:entry>
<atidmd:key>Title</atidmd:key>
<atidmd:value>!,doc-title-bookmark.txt,!</atidmd:value>
</atidmd:entry>
</atidmd:docinfo>
<atidmd:outline><atidmd:bookmark><atidmd:title>!,doc-title-bookmark.txt,!</atidmd:title>
</atidmd:bookmark>
</atidmd:outline>
</atidmd:documentmetadata>!" placemnt="after"></usetext>

Hi Caroline,

We do it a little differently as the atidmd markup is inserted into the XML document (via XSLT) and is not referenced in the FOSI. We created a PDFINFO element in our schema that is inserted at the end of the XML, just before the end root element. When processing the root element, the FOSI has:

<usetext source="!&lt;atidmd:DocumentMetaData source="atend"&gt;&lt;br /&gt;&lt;/atidmd:DocumentMetaData&gt;&lt;br /&gt;!" placemnt="before">
</usetext>
<usetext source="pdfinfo.txt" placemnt="after">
</usetext>

And for PDFINFO:

<e-i-c gi="PDFINFO">
<charlist>
<suppress sup="1">
<savetext textid="pdfinfo.txt" conrule="#CONTENT">
</charlist>
</e-i-c>

In the XML, our root element looks like this:

<topicset xmlns:atidmd="&lt;a" style="COLOR:" blue;=" text-decoration:=" underline&quot;=" target="_BLANK" href="http://www.arbortext.com/namespace/DocumentMetaData"">http://www.arbortext.com/namespace/DocumentMetaData" ..

And PDFINFO:

<pdfinfo>
<atidmd:documentmetadata>
<atidmd:docview mode="bookmarks" destination="Default" fit="fitPage"/">
<atidmd:docinfo>
<atidmd:entry>
<atidmd:key>Title</atidmd:key><atidmd:value>Title of Book</atidmd:value>
</atidmd:entry>
<atidmd:entry>
<atidmd:key>Author</atidmd:key><atidmd:value>Author name</atidmd:value>
</atidmd:entry>
<atidmd:entry>
<atidmd:key>Creator</atidmd:key><atidmd:value>Creator name</atidmd:value>
</atidmd:entry>
<atidmd:entry>
<atidmd:key>Subject</atidmd:key><atidmd:value>Subject</atidmd:value>
</atidmd:entry>
<atidmd:entry>
<atidmd:key>Keyword</atidmd:key><atidmd:value>ID of book</atidmd:value>
</atidmd:entry>
</atidmd:docinfo>
<atidmd:outline>
...
</atidmd:outline>
</atidmd:documentmetadata>
</pdfinfo>
</topicset>

Hope this helps!

Dave
Siemens

cleccese
6-Contributor
(To:ptc-953926)

Thank you, Dave. I think it was a syntax error.


This worked, except that the link takes me to the last Volume instead of the first page. Still, progress!:


<usetext<br/>source='!<atidmd:documentmetadata source="atend">
<atidmd:docview mode="bookmarks"&lt;br"/> fit="fitPage" destination=">
</atidmd:docview>
</atidmd:documentmetadata>!' placemnt="before"></usetext>

Top Tags