aspose word指定位置插入圖片,藉助word模板檔案中的書籤來定位 及Java 獲取網路圖片
連結:aspose word模板檔案生成pdf
https://www.cnblogs.com/oktokeep/p/16615900.html
在Aspose.Words中,您可以使用DocumentBuilder類在指定位置插入圖片。以下是一個簡單的示例程式碼,展示如何實現這一功能:
// 首先,需要引用Aspose.Words名稱空間
using Aspose.Words;
using Aspose.Words.Drawing;
// 初始化Document類的一個例項,它代表了一個Word文件
Document doc = new Document();
// 建立一個DocumentBuilder物件,它會用於插入內容到文件中
DocumentBuilder builder = new DocumentBuilder(doc);
// 使用DocumentBuilder的MoveToBookmark方法移動游標到書籤位置
// 如果文件中沒有書籤,可以直接用索引指定位置,例如:
// builder.MoveToDocument(index, true); // index代表文件中的特定位置
// 如果文件中有書籤,可以直接用書籤指定位置,例如:
builder.moveToBookmark(bookmarkName);
// 在指定位置插入圖片
builder.InsertImage(
"path/to/image.jpg", // 圖片檔案路徑
RelativeHorizontalPosition.Margin, // 圖片的水平位置
100, // 水平位置的距離,例如100表示距離頁邊距100單位
RelativeVerticalPosition.Margin, // 圖片的垂直位置
200, // 垂直位置的距離
100, // 圖片寬度
150 // 圖片高度
);
// 儲存文件
doc.Save("path/to/output.docx");
在這個例子中,我們首先建立了一個Document物件和一個DocumentBuilder物件。然後,我們使用DocumentBuilder的MoveToDocument方法或者MoveToBookmark方法移動游標到文件中的指定位置。最後,我們呼叫DocumentBuilder的InsertImage方法在指定位置插入圖片。
請注意,您需要替換"path/to/image.jpg"為您要插入的圖片的實際路徑,並且指定合適的尺寸和位置。此外,如果您的文件中已經定義了書籤,可以使用MoveToBookmark方法來更精確地定位插入點。
public static void replaceBookMarkImage(String bookmarkName, InputStream inputStream, Document doc) throws Exception { com.aspose.words.DocumentBuilder db=new com.aspose.words.DocumentBuilder(doc); db.moveToBookmark(bookmarkName); // db.insertImage(inputStream,119.4,64); db.insertImage(inputStream,60,32); }
//獲取網路圖片地址,插入到word模板檔案中。 URL url = new URL(signUrlAddr); //開啟連結 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //設定請求方式為"GET" conn.setRequestMethod("GET"); //超時響應時間為5秒 conn.setConnectTimeout(5 * 1000); //透過輸入流獲取圖片資料 InputStream fis = conn.getInputStream(); this.replaceBookMarkImage("sign", fis, document);