Any kind of external IDML Viewer
Asked Answered
E

4

8

starting with InDesign CS 5, there is a new format, called IDML, that defines a document to be rendered by InDesign. I'm looking for a way to view this format without opening InDesign (which is damn too heavy). The optimum solution would be an applet/a flash library/something that can render content in a web page (in fact, even a generated image could be an interesting starting point)

I know there is a (paying) Java library for read/write this format Can it be extended to develop a viewer ?

Emblaze answered 4/10, 2010 at 7:59 Comment(1)
That would be CS 4 and above, btw.Suborder
K
1

The IDMLlib is able to extract any information inside the IDML. You are not limited in any way to transform this information into something else. For example you could use java2d to render a spread from the IDML or you could use a PDF library to create a PDF from the IDML document. To answer your question: Yes, the IDMLlib provides the foundation to develop a viewer for IDML.

Best,

Andreas

p.s. The IDML format is available since CS4

edit:

iText would be one PDF library another one is www.pdflib.com which is an extremely fast library to create any kind of PDF but is also a commercial one. From a "what is possible" point of view, the pdflib is able to render a lot of stuff without much hassle but what will be very hard to do is stuff like soft shadows, image blendings. You will also need additional software to convert EPS to something (PDF maybe) that the pdflib can work with, because EPS files are not supported by the pdflib. Fonts could also be a showstopper, if your idml document uses Mac fonts (Font suitcases, .dfont). All other fonts are supported very well (Truetype Fonts, OpenType Fonts, PostscriptFonts). I don´t think it will be possible to create a viewer that can render every document 100% accurate but it will be possible to create a viewer that can render a lot of documents very accurate. But as always mileage may vary, best would be to get a eval from both libs and give it a try.

Krell answered 4/10, 2010 at 12:40 Comment(1)
Yes, I know IDML lib provides foundations, but I would have better got the walls :-) Besides, can you be a little more precise on the way you would use this "PDF library" (I guess you talk about iText or something like that, no ?)Emblaze
O
6

You want to go from IDML to Web?

I am in a similar situation myself. I think InDesign Server has the functionality we want, but it seems prohibitively expensive. If your IDML is consistent you can write your own process. This what I am currently doing.

Orthographize answered 19/12, 2010 at 22:0 Comment(1)
I am also doing the same. I keep the IDML documents in a Jackrabbit repository, so the every single XML is exposed with a Java REST API.Riggall
K
1

The IDMLlib is able to extract any information inside the IDML. You are not limited in any way to transform this information into something else. For example you could use java2d to render a spread from the IDML or you could use a PDF library to create a PDF from the IDML document. To answer your question: Yes, the IDMLlib provides the foundation to develop a viewer for IDML.

Best,

Andreas

p.s. The IDML format is available since CS4

edit:

iText would be one PDF library another one is www.pdflib.com which is an extremely fast library to create any kind of PDF but is also a commercial one. From a "what is possible" point of view, the pdflib is able to render a lot of stuff without much hassle but what will be very hard to do is stuff like soft shadows, image blendings. You will also need additional software to convert EPS to something (PDF maybe) that the pdflib can work with, because EPS files are not supported by the pdflib. Fonts could also be a showstopper, if your idml document uses Mac fonts (Font suitcases, .dfont). All other fonts are supported very well (Truetype Fonts, OpenType Fonts, PostscriptFonts). I don´t think it will be possible to create a viewer that can render every document 100% accurate but it will be possible to create a viewer that can render a lot of documents very accurate. But as always mileage may vary, best would be to get a eval from both libs and give it a try.

Krell answered 4/10, 2010 at 12:40 Comment(1)
Yes, I know IDML lib provides foundations, but I would have better got the walls :-) Besides, can you be a little more precise on the way you would use this "PDF library" (I guess you talk about iText or something like that, no ?)Emblaze
R
0

I am also doing the same as Mikhail. I keep the IDML documents in a Jackrabbit repository, so every single XML is exposed thru a Java REST API.

Then the IDML is loaded in a FLEX application, which does the actual rendering. I am also using a heavily modified version of the excellent TinyTLF library, written by Paul Taylor, in which I implemented most of the IDML text markup as a separate IDML renderer. Maybe some day I will rewrite it to HTML5/Javascript.

Riggall answered 26/4, 2013 at 17:45 Comment(0)
K
-1

I was stuck in the same problem for a long time, and I figured out that this is not possible very difficult. Using IDML you cannot easily render the document as you can render it with the source INDD file.

This is because the IDML file is a view and not a model, it does not contain enough information to be rendered correctly.

The problem where I got blocked was when IDML file had text + graphics. It was not possible to render it correctly, as all TextFrames pointed to the same story, and there is no way in IDML to figure out how much text fits into one text frame. So, you basically cannot figure out where to place the image, i.e. after how much text.

As for IDMLLib, I tried an evaluation product and these people have just provided something like a SDK with which you can extract all info from IDML. This info is not enough!!!

Krum answered 22/5, 2013 at 9:16 Comment(6)
This is not true. We've rendered IDML using both Flash and HTML, including doing the calculation regarding threaded frames. It's not easy, but all the information you need is there (if you include the metrics available inside the chosen font).Extraterritoriality
What I meant was that you would have to write a separate engine for calculating how much text fits into a text frame - that info is nowhere available within the IDML file. Guess who told me this? Mr. Eric Menninga himself!Krum
@JcFx - I do understand that you are the IDML guy, you created the tag and answered all my queries. But i do have enough info to claim that IDML is incomplete. InDesign SDK + INDD - fetches a lot of info from the open app, that is not a part of the IDML file format.Krum
You've stated that an external viewer is not possible. This isn't true. I've built one, (two in fact - an early version in Flash and a more recent one in HTML). Our tool is in beta testing now,and it's not just a viewer but also an editor. We don't use any data over and above what is present in the IDML file, and what is present in the font file(s). We don't use the SDK, or InDesign server.Extraterritoriality
Then you would have solved the problem yourself - of fitting text into text frames. I am not claiming it to be impossible or not feasible, but very complex. In our case exact rendering was very vital - and that was a complicated project in itself. Thanks anyway! :)Krum
Edited your answer to reflect fact that it is possible.Extraterritoriality

© 2022 - 2024 — McMap. All rights reserved.