有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在InDesign Java文档中获得真正的页面计数

我使用的是Adobe InDesign CS5服务器Java。为了设置所需的首选项,我使用以下代码:

Document myDocument = myApp.addDocument(OptArg.noDocumentPreset());
DocumentPreference docPrefs = myDocument.getDocumentPreferences();
docPrefs.setPageHeight(UnitUtils.createString("800pt"));
docPrefs.setPageWidth(UnitUtils.createString("600pt"));
docPrefs.setPageOrientation(kPageOrientationLandscape.value);
docPrefs.setPagesPerDocument(16);

我想知道,在不设置setPagesPerDocument的情况下,是否有可能在java中找到真正的文档页数?提前感谢您的帮助


共 (2) 个答案

  1. # 1 楼答案

    以防万一。抱歉,我不知道它在Java中是如何工作的。但在Windows上的Python中,可以这样做:

    from win32com.client import Dispatch
    
    app = Dispatch('InDesign.Application.CS6')
    doc = app.Open(r"d:\sample.indd")
    pages = doc.pages;
    pages_length = len(pages)
    doc.Close()
    
    print(pages_length)
    
  2. # 2 楼答案

    你可以简单地找到这样的页数:

    var pageCount = myDocument.pages.length
    
    $.writeln("The document has " + pageCount + " pages.");
    

    顺便说一句,InDesign脚本是用JavaScript(或者更准确地说是一种JavaScript方言ExtendScript)完成的,这是一种与Java非常不同的语言

    编辑:好的,回答你的评论,我不知道InDesignServerAPI是什么。jar是,但从代码来看,InDesign ExtendScript语言似乎只是被包装成了Java代码。所以我的猜测是,你可以得到这样的页面计数:

    int pageCount = myDocument.pages.length;