翻譯|使用教程|編輯:胡濤|2023-04-27 11:25:13.617|閱讀 158 次
概述:本文主要介紹如何使用aspose.words 在 Java 中將宏從一個(gè) Word 文檔復(fù)制到另一個(gè)文檔,歡迎查閱~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Aspose.Words 是一種高級(jí)Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無(wú)需在跨平臺(tái)應(yīng)用程序中直接使用Microsoft Word。此外,
Aspose API支持流行文件格式處理,并允許將各類文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
Word 文檔中的宏是用 VBA (Visual Basic for Applications) 編寫的,用于自動(dòng)執(zhí)行常用任務(wù)。MS Word 宏包含一組代碼語(yǔ)句,這些語(yǔ)句在單擊工具欄中的特定按鈕或按下組合鍵時(shí)執(zhí)行。
在上一版Aspose.Words for Java中,我們引入了在Word文檔中為VBA項(xiàng)目或VBA模塊添加宏的功能。但是,在某些情況下,您需要克隆 VBA 模塊或整個(gè) VBA 項(xiàng)目以編程方式將 Word 宏從一個(gè)文檔復(fù)制到另一個(gè)文檔。為了使其成為可能,我們向VABModule和VBAProject類添加了deepClone()方法,以從特定的 VBA 模塊或項(xiàng)目復(fù)制 Word 宏。
現(xiàn)在讓我們看看如何使用Aspose.Words for Java在 Java 中將 Word 宏從一個(gè)文檔復(fù)制到另一個(gè)文檔。
Document doc = new Document(dataDir + "test.docm"); VbaProject project = doc.getVbaProject(); Document destDoc = new Document(); destDoc.setVbaProject(new VbaProject()); // Clone a single module. VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone(); destDoc.getVbaProject().getModules().add(copyModule); destDoc.save(dataDir + "output.docm");
以下 Java 代碼示例顯示如何通過(guò)在 Word 文檔中克隆完整的 VBA 項(xiàng)目來(lái)復(fù)制宏。
PDF 文檔可能符合各種標(biāo)準(zhǔn)或 PDF 規(guī)范的版本。PDF 1.7 是 PDF 規(guī)范的第六版,它包含一些僅由 Adobe 定義的專有技術(shù)。Aspose.Words for Java已經(jīng)支持Word 到 PDF 的轉(zhuǎn)換,但是,我們已經(jīng)擴(kuò)展了這種支持,現(xiàn)在您可以將 Word 文檔轉(zhuǎn)換為 PDF 1.7。為此,我們已將PDF_17選項(xiàng)添加到PdfCompliance枚舉中。
以下 Java 代碼示例顯示了如何通過(guò)指定PdfCompliance將 Word 轉(zhuǎn)換為 PDF 。
// For complete examples and data files, please go to // //github.com/aspose-words/Aspose.Words-for-Java // The path to the documents directory. Document originalDoc = new Document(dataDir + "Document.docx"); // Provide PDFSaveOption compliance to PDF17 // or just convert without SaveOptions PdfSaveOptions pso = new PdfSaveOptions(); pso.setCompliance(PdfCompliance.PDF_17); originalDoc.save(dataDir + "Output.pdf", pso);
在以前版本的Aspose.Words for Java中,API 僅用于掃描SystemFontSource的系統(tǒng)安裝字體。這種方法不適用于 Windows 10,其中字體可能安裝到所有用戶的系統(tǒng)文件夾“ %windir%\fonts ”或用戶文件夾“ %userprofile%\AppData\Local\Microsoft\Windows\Fonts” ” 對(duì)于當(dāng)前用戶。我們?cè)鰪?qiáng)了這個(gè)功能,現(xiàn)在Aspose.Words for Java也可以掃描用戶安裝的字體。
Aspose.Words for Java提供查找和替換選項(xiàng)來(lái)替換 Word 文檔中所需的單詞或短語(yǔ)。在以前版本的 API 中,查找/替換功能用于與文檔內(nèi)容分開(kāi)分析文本框。此行為是根據(jù) MS Word 的行為設(shè)計(jì)的,但是,在某些情況下,您可能需要按順序查找和替換內(nèi)容,包括文本框中的文本。對(duì)于這種情況,我們?cè)贔indReplaceOptions類中引入了一個(gè)新選項(xiàng)UseLegacyOrder。以下 Java 代碼示例顯示了在 Word 文檔中查找和替換文本時(shí)如何使用此選項(xiàng)。
public static void FineReplaceUsingLegacyOrder(String dataDir) throws Exception { // Open the document. Document doc = new Document(dataDir + "source.docx"); FindReplaceOptions options = new FindReplaceOptions(); options.setReplacingCallback(new ReplacingCallback()); options.setUseLegacyOrder(true); doc.getRange().replace(Pattern.compile("\\[(.*?)\\]"), "", options); dataDir = dataDir + "usingLegacyOrder_out.doc"; doc.save(dataDir); } private static class ReplacingCallback implements IReplacingCallback { public int replacing(ReplacingArgs args) { System.out.print(args.getMatch().group()); return ReplaceAction.REPLACE; } }
以上便是如何在 Java 中將宏從一個(gè) Word 文檔復(fù)制到另一個(gè)文檔 ,要是您還有其他關(guān)于產(chǎn)品方面的問(wèn)題,歡迎咨詢我們,或者加入我們官方技術(shù)交流群。
歡迎下載|體驗(yàn)更多Aspose產(chǎn)品
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn