2016-05-27 54 views
2

我是新來的INDD CC服務器。我已實施Indesign server運行於Windows。我需要將IDML轉換爲PDF,但有問題。SimpleIDML如何將IDML轉換爲PDF?

我用SimpleIDML Python library to manipulate Adobe(r) IDML(r) files.

我的示例腳本是 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) 

在文檔:

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] 

當我運行I2P SCR IPT拋出我的錯誤:

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' 

手動我可以看到動態創建的目錄tmp9LVUWj服務器目錄中。服務器路徑在同一時間期待。

無法弄清楚如何設置indesign-server/workdir和代碼訪問以及如何解決?我花了很多時間在這方面,而無法找到幫助或示例代碼。

或者是否有其他Python包從IDML轉換爲PDF。

在此先感謝

+0

任何您使用python庫代替內置InDesign Server功能的原因? –

回答

0

你寫,

手動我可以看到動態服務器 目錄中創建目錄tmp9LVUWj。

這是真的,但那不是錯誤。它指出它無法在目錄中找到名爲save_as.jsx 的JSX文件。那實際上是你打算放在那裏的JSX文件的名字,還是現在居住的那個文件的名字?