2016-05-27 7 views
2

Ich bin neu bei INDD CC Server. Ich habe implementiert Indesign server läuft auf Windows. Ich muss IDML zu PDF konvertieren, aber Probleme haben.SimpleIDML Wie IDML zu PDF konvertieren?

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

Mein Beispielskript verwendet haben, ist 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 Dokumentation:

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] 

Wenn ich I2P scr laufen ipt wirft mir Fehler wie:

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' 

Manuell kann ich dynamisch dir tmp9LVUWj innerhalb Server dir erstellt sehen. Serverpfad erwartet zur selben Zeit.

Nicht in der Lage, herauszufinden, wie man indesign-server/workdir und Zugriff in Code und wie zu lösen? Ich habe viel Zeit damit verbracht und finde keine Hilfe oder Beispielcode.

Oder gibt es ein anderes Python-Paket, um von IDML nach PDF zu konvertieren.

Vielen Dank im Voraus

+0

Warum verwenden Sie die Python-Bibliothek anstelle der integrierten InDesign Server-Funktionalität? –

Antwort

0

Sie schrieben,

Manuell kann ich dynamisch dir tmp9LVUWj innerhalb Server dir erstellt sehen.

Das stimmt, aber das ist nicht der Fehler. Es besagt, dass es eine JSX-Datei mit dem Namen save_as.jsx innerhalb dieses Verzeichnis nicht finden kann. Ist das tatsächlich der Name der JSX-Datei, die Sie dort platzieren wollten, oder die Datei, die sich dort gerade befindet?