如何使用 C# 将照片放置在 Indesign 文档中的特定位置?

How to place a photo in a specific location in Indesign document using C#?

我需要在 Indesign 页面上放置照片,每 100 页上很少。我使用 Place 函数,它会导致将照片加载到光标上,然后我需要单击我想要的位置。但我需要它是自动的!我的意思是,完成将照片放置在页面上,但它等待用户点击。

这是代码:

Indesign.Page pg = doc.Pages[1];
Indesign.TextFrame frm = pg.TextFrames[1];
string txt = frm.Contents;

if (txt.Contains("ploni"))
{
    app.Place("C:\User\Directory\PhotoFile.png");
}

我注意到 Indesign.Page 在其 Place 函数中有另一个名为“InsertionPoint”的参数。但是没看懂是什么

我对 C# 一无所知,但在 Extendscript InDesign DOM Page 对象中有 place() 方法。 http://jongware.mit.edu/idcs6js/pc_Page.html 而且它不会等待用户的任何点击。

您可以这样将图片放在页面的左上角:

app.activeDocument.pages[0].place("c:/temp/image.jpg")

我相信 C# 使用与 Extendscript 大致相同的对象模型。

是的,最后我创建了一个矩形,然后定位它,然后将图像放在里面。像这样:

InDesign.Rectangle rct = pg.Rectangles.Add(doc.Layers.FirstItem(), InDesign.idLocationOptions.idUnknown, pg);
rct.GeometricBounds = new[] { yDown, xDown, yUp, xUp };
rct.Place(@"C:\User\image.png");