Is it possible to generate multiple DPF from one map?

Post here questions and problems related to editing and publishing DITA content.
raybiss
Posts: 31
Joined: Sat Jan 17, 2015 6:21 pm

Is it possible to generate multiple DPF from one map?

Post by raybiss »

Hi,

How can I generate multiple PDF from one map?

+ One PDF per topic (tasks, arranged in topicgroup)
+ One PDF for the map (with links to individual topics)

Like generating HTML but in PDF.
Any idea on how to achieve this?

- Through a PDF2 custom plugin?
- Through an Oxygen Publishing template (PDF via CSS)?

All ideas are welcome...

Thank you,
Raymond
chrispitude
Posts: 922
Joined: Thu May 02, 2019 2:32 pm

Re: Is it possible to generate multiple DPF from one map?

Post by chrispitude »

Hi Raymond,

DITA-OT project files might be a good way to do this:

https://www.oxygenxml.com/doc/versions/ ... oject.html

Basically you could create a project file something like this:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="https://www.dita-ot.org/rng/project.rnc" type="application/relax-ng-compact-syntax"?>
<project xmlns="https://www.dita-ot.org/project">

  <!-- contexts - these are the topic/map inputs -->
  <context id="context-topic1" name="topic1">
    <input href="dita/topic1.dita"/>
  </context>

  <context id="context-topic2" name="topic2">
    <input href="dita/topic2.dita"/>
  </context>

  <context id="context-map" name="map">
    <input href="dita/map.ditamap"/>
  </context>

  <!-- publications - these are your transformations -->
  <publication id="pub-pdf" transtype="pdf2"/>

  <!-- deliverables - these are outputs created from context/publication pairs -->
  <deliverable id="del-topic1">
    <context idref="context-topic1"/>
    <output href="."/>
    <publication idref="pub-pdf"/>
  </deliverable>

  <deliverable id="del-topic2">
    <context idref="context-topic2"/>
    <output href="."/>
    <publication idref="pub-pdf"/>
  </deliverable>

  <deliverable id="del-map">
    <context idref="context-map"/>
    <output href="."/>
    <publication idref="pub-pdf"/>
  </deliverable>

</project>
If you want to publish topic groups instead of individual topics, you can group them into submaps, then create a context for each submap.

- Chris
raybiss
Posts: 31
Joined: Sat Jan 17, 2015 6:21 pm

Re: Is it possible to generate multiple DPF from one map?

Post by raybiss »

Hi Chris,
Thank you. I think that's the best way to achieve what I want.
Generating the project file from the main map shouldn't be too hard.
-- Is it possible to specify the output file name through the project file?
It would be nice if I could set these directly in the project file.
Otherwise, I will also need to generate a script to rename those files.

Regards,
Raymond
Radu
Posts: 9473
Joined: Fri Jul 09, 2004 5:18 pm

Re: Is it possible to generate multiple DPF from one map?

Post by Radu »

Hi,

There is a transformation parameter named "args.output.base" which can be set to the output file name without extension, something like:

Code: Select all

  <deliverable name="...">
    <publication transtype="...">
      <param name="args.output.base" href="abc"/>
    </publication>
  </deliverable>
https://www.dita-ot.org/dev/parameters/ ... utput.base

About this idea of publishing each individual topic to PDF, you will end up with broken links between PDFs, maybe conrefs will not expand properly, so I don't know what to say...

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
raybiss
Posts: 31
Joined: Sat Jan 17, 2015 6:21 pm

Re: Is it possible to generate multiple DPF from one map?

Post by raybiss »

Hi Radu,
These files are already published individually and I'm only looking for a way to automate their publishing, along with an index that will link to each individual pdf file. This index might also be just an HTML file, still to be decided...
Since the target file name is in each topic, I should be able to write the "args.output.base" value while creating the project file from the map.
Thank you,
Raymond
chrispitude
Posts: 922
Joined: Thu May 02, 2019 2:32 pm

Re: Is it possible to generate multiple DPF from one map?

Post by chrispitude »

Hi Raymond,

We do something similar - we publish a set of PDF files, along with an Oxygen WebHelp online help map that provides access to the PDF files in an easy-to-use way.

If you download the "preprocessed_ditaot_project_files.zip" Oxygen testcase from https://blog.oxygenxml.com/topics/prepr ... files.html, you can see how this works. I am happy to answer any questions you have about it!
Post Reply