3

I am new to INDD CC Server. I have Implemented Indesign server running on Windows. I need to convert IDML to PDF but having issues.

I have used SimpleIDML Python library to manipulate Adobe(r) IDML(r) files.

My sample script is I2P.py

from simple_idml.indesign import indesign


idml_file = "/home/user/Project/EPS/media/test/2-idml/test001.idml"
indd_file = "/home/user/Project/EPS/media/test/InDesigndocument/test001.indd"
url_path = "http://192.168.1.1:12345/"
client_dir = "/home/user/Project/EPS/media/source"
server_dir = "/home/user/Project/EPS/media/server"

response = indesign.save_as(indd_file, [{
                                "fmt": "pdf",
                                "params": {"colorSpace": "CMYK"},
                            }],
                            url_path,
                            client_dir,
                            server_dir)[0]
with open("my_file.pdf", "w+") as f:
    f.write(response)

In documentation :

response = indesign.save_as("/path_to_file.indd", [{
                                "fmt": "pdf",
                                "params": {"colorSpace": "CMYK"},
                            }],
                            "http://url-to-indesign-server:port",
                            "/path/to/client/workdir",
                            "/path/to/indesign-server/workdir")[0]

When i run I2P script throws me error as :

Traceback (most recent call last):
  File "ItoP.py", line 12, in <module>
    server_path)[0]
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/simple_idml/indesign/indesign.py", line 71, in new_func
    logger, logger_extra)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/simple_idml/indesign/indesign.py", line 180, in save_as
    responses = map(lambda fmt: _save_as(fmt), dst_formats_params)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/simple_idml/indesign/indesign.py", line 180, in <lambda>
    responses = map(lambda fmt: _save_as(fmt), dst_formats_params)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/simple_idml/indesign/indesign.py", line 149, in _save_as
    response = cl.service.RunScript(params)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/suds/client.py", line 542, in __call__
    return client.invoke(args, kwargs)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/suds/client.py", line 602, in invoke
    result = self.send(soapenv)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/suds/client.py", line 649, in send
    result = self.failed(binding, e)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/suds/client.py", line 702, in failed
    r, p = binding.get_fault(reply)
  File "/home/user/eps2_env/local/lib/python2.7/site-packages/suds/bindings/binding.py", line 265, in get_fault
    raise WebFault(p, faultroot)
suds.WebFault: Server raised fault: 'The specified script file can not be found: /home/user/Project/EPS/media/server/tmp9LVUWj/save_as.jsx' 

Manually i can see dynamically created dir tmp9LVUWj inside server dir. Server path expecting on same time.

Not able to figure out how to set indesign-server/workdir and access in code and how to solve ? I have spend much time on this and not able find help or example code.

Or is there other python package to convert from IDML to PDF.

Thanks in advance

Kamlesh
  • 2,032
  • 2
  • 19
  • 35

1 Answers1

1

You wrote,

Manually I can see dynamically created dir tmp9LVUWj inside server dir.

That is true, but that is not the error. It is stating that it cannot find a JSX file named save_as.jsx within that directory. Is that in fact the name of the JSX file that you were intending to place there, or the file that is residing there now?

acg_so
  • 274
  • 1
  • 4