aspose word指定位置插入圖片,藉助word模板檔案中的書籤來定位 及Java 獲取網路圖片

oktokeep發表於2024-09-07

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);

相關文章