類LoadOptions
- java.lang.Object
- com.aspose.words.LoadOptions
-
直接已知子類:
HtmlLoadOptions,PdfLoadOptions,RtfLoadOptions,TxtLoadOptions
公共類LoadOptions擴展java.lang.Object
例:
顯示如何加載加密的Microsoft Word文檔。
文件doc;
//如果我們嘗試打開沒有密碼的加密文檔,則Aspose.Words會引發異常。
Assert.assertThrows(IncorrectPasswordException.class,()->新文檔(getMyDir()+“ Encrypted.docx”));
//加載此類文檔時,密碼將使用LoadOptions對象傳遞給文檔的構造函數。
LoadOptions選項=新的LoadOptions(“ docPassword”);
//有兩種使用LoadOptions對象加載加密文檔的方式。
// 1-按文件名從本地文件系統加載文檔。
doc =新文檔(getMyDir()+“ Encrypted.docx”,選項);
// 2-從流中加載文檔。
InputStream流=新的FileInputStream(getMyDir()+“ Encrypted.docx”);
嘗試
{
doc =新文檔(流,選項);
}
最后{if(stream!= null)stream.close(); }
| 構造器摘要 |
|---|
LoadOptions() 使用默認值初始化此類的新實例。 |
LoadOptions(java.lang.Stringpassword) 使用指定的密碼初始化此類的新實例以加載加密文檔的快捷方式。 |
LoadOptions(intloadFormat, java.lang.Stringpassword, java.lang.StringbaseUri) 用於將屬性設置為指定值的此類的新實例初始化的快捷方式。 |
| 財產獲取者/設定者摘要 | ||
|---|---|---|
java.lang.String |
getBaseUri() |
|
void
|
setBaseUri(java.lang.Stringvalue)
|
|
| 獲取或設置在需要時將用於將文檔中找到的相對URI解析為絕對URI的字符串。可以為null或空字符串。默認為空。 | ||
boolean |
getConvertMetafilesToPng() |
|
void
|
setConvertMetafilesToPng(booleanvalue)
|
|
| 獲取或設置是否轉換圖元文件(世界貨幣基金組織 要么 電動勢 )圖片到 ng 圖片格式。 | ||
boolean |
getConvertShapeToOfficeMath() |
|
void
|
setConvertShapeToOfficeMath(booleanvalue)
|
|
| 獲取或設置是否將帶有EquationXML的形狀轉換為Office Math對象。 | ||
java.nio.charset.Charset |
getEncoding() |
|
void
|
setEncoding(java.nio.charset.Charsetvalue)
|
|
| 如果未在文檔中指定編碼,則獲取或設置將用於加載HTML,TXT或CHM文檔的編碼。可以為null。默認為空。 | ||
FontSettings |
getFontSettings() |
|
void
|
setFontSettings(FontSettings value)
|
|
| 允許指定文檔字體設置。 | ||
LanguagePreferences |
getLanguagePreferences() |
|
|
|
獲取在加載文檔時將使用的語言首選項。
|
|
int |
getLoadFormat() |
|
void
|
setLoadFormat(intvalue)
|
|
| 指定要加載的文檔的格式。默認是加載格式。該屬性的值為LoadFormat整數常量。 | ||
int |
getMswVersion() |
|
void
|
setMswVersion(intvalue)
|
|
| 允許指定文檔加載過程應與特定的MS Word版本匹配。默認值為MsWordVersion.WORD_2007該屬性的值為MsWordVersion整數常量。 | ||
java.lang.String |
getPassword() |
|
void
|
setPassword(java.lang.Stringvalue)
|
|
| 獲取或設置用於打開加密文檔的密碼。可以為null或空字符串。默認為空。 | ||
boolean |
getPreserveIncludePictureField() |
|
void
|
setPreserveIncludePictureField(booleanvalue)
|
|
| 獲取或設置在讀取Microsoft Word格式時是否保留INCLUDEPICTURE字段。默認值為false。 | ||
IResourceLoadingCallback |
getResourceLoadingCallback() |
|
void
|
|
|
| 允許控制從HTML,MHTML導入文檔時如何加載外部資源(圖像,樣式表)。 | ||
java.lang.String |
getTempFolder() |
|
void
|
setTempFolder(java.lang.Stringvalue)
|
|
讀取文檔時允許使用臨時文件。默認情況下,此屬性為null並且不使用任何臨時文件。 |
||
boolean |
getUpdateDirtyFields() |
|
void
|
setUpdateDirtyFields(booleanvalue)
|
|
指定是否使用dirty屬性更新字段。 |
||
IWarningCallback |
getWarningCallback() |
|
void
|
|
|
| 在加載操作期間被調用,當檢測到可能導致數據或格式保真度損失的問題時。 | ||
-
-
構造器詳細信息
-
加載選項
公共LoadOptions()例:
顯示如何使用基本URI打開來自流的圖像的HTML文檔。InputStream流=新的FileInputStream(getMyDir()+“ Document.html”); 嘗試/ * JAVA:正在使用* / { //加載時傳遞基本文件夾的URI //,以便可以找到HTML文檔中具有相對URI的任何圖像。 LoadOptions loadOptions = new LoadOptions(); loadOptions.setBaseUri(getImageDir()); Document doc = new Document(stream,loadOptions); //驗證文檔的第一個形狀包含有效圖像。 形狀shape =(Shape)doc.getChild(NodeType.SHAPE,0,true); Assert.assertTrue(shape.isImage()); Assert.assertNotNull(shape.getImageData()。getImageBytes()); Assert.assertEquals(32.0,ConvertUtil.pointToPixel(shape.getWidth()),0.01); Assert.assertEquals(32.0,ConvertUtil.pointToPixel(shape.getHeight()),0.01); } 最后{if(stream!= null)stream.close(); }
-
加載選項
公共LoadOptions(java.lang.String密碼)參數:
password-打開加密文檔的密碼。可以為null或空字符串。例:
顯示如何加載加密的Microsoft Word文檔。文件doc; //如果我們嘗試打開沒有密碼的加密文檔,則Aspose.Words會引發異常。 Assert.assertThrows(IncorrectPasswordException.class,()->新文檔(getMyDir()+“ Encrypted.docx”)); //加載此類文檔時,密碼將使用LoadOptions對象傳遞給文檔的構造函數。 LoadOptions選項=新的LoadOptions(“ docPassword”); //有兩種使用LoadOptions對象加載加密文檔的方式。 // 1-按文件名從本地文件系統加載文檔。 doc =新文檔(getMyDir()+“ Encrypted.docx”,選項); // 2-從流中加載文檔。 InputStream流=新的FileInputStream(getMyDir()+“ Encrypted.docx”); 嘗試 { doc =新文檔(流,選項); } 最后{if(stream!= null)stream.close(); }
-
加載選項
public LoadOptions(int loadFormat,java.lang.String password,java.lang.String baseUri)參數:
loadFormat- 一種 加載格式值。要加載的文檔格式。password-打開加密文檔的密碼。可以為null或空字符串。baseUri-將用於將相對URI解析為絕對值的字符串。可以為null或空字符串。例:
顯示如何將網頁中的HTML內容插入到新文檔中。//要加載的頁面的網址 URL url =新URL(“ http://www.aspose.com/”); //從Internet加載文檔的最簡單方法是使用URLConnection類 URLConnection webClient = url.openConnection(); //從URL引用的位置下載字節 InputStream inputStream = webClient.getInputStream(); //將輸入流轉換為字節數組 int pos; ByteArrayOutputStream bos = new ByteArrayOutputStream(); while((pos = inputStream.read())!= -1)bos.write(pos); byte [] dataBytes = bos.toByteArray(); //將代表內存中文檔的字節包裝到流對象中 ByteArrayInputStream byteStream =新的ByteArrayInputStream(dataBytes); //應該設置baseUri屬性,以確保正確檢索任何相對img路徑 LoadOptions選項=新的LoadOptions(LoadFormat.HTML,“”,url.getPath()); //從流中加載HTML文檔並傳遞LoadOptions對象 Document doc = new Document(byteStream,options); //將文檔轉換為.docx時將其保存到本地文件系統 doc.save(getArtifactsDir()+“ Document.InsertHtmlFromWebPage.docx”);
-
-
財產獲取者/設定者詳細信息
-
getBaseUri / setBaseUri
公共java.lang.String getBaseUri()/公共無效setBaseUri(java.lang.String值)在以下情況下,此屬性用於將相對URI解析為絕對URI:
- 從流中加載HTML文檔時,該文檔包含具有相對URI的圖像,並且在BASE HTML元素中沒有指定基本URI。
- 將文檔保存為PDF和其他格式時,可以檢索使用相對URI鏈接的圖像,以便可以將圖像保存到輸出文檔中。
例:
顯示如何使用基本URI打開來自流的圖像的HTML文檔。InputStream流=新的FileInputStream(getMyDir()+“ Document.html”); 嘗試/ * JAVA:正在使用* / { //加載時傳遞基本文件夾的URI //,以便可以找到HTML文檔中具有相對URI的任何圖像。 LoadOptions loadOptions = new LoadOptions(); loadOptions.setBaseUri(getImageDir()); Document doc = new Document(stream,loadOptions); //驗證文檔的第一個形狀包含有效圖像。 形狀shape =(Shape)doc.getChild(NodeType.SHAPE,0,true); Assert.assertTrue(shape.isImage()); Assert.assertNotNull(shape.getImageData()。getImageBytes()); Assert.assertEquals(32.0,ConvertUtil.pointToPixel(shape.getWidth()),0.01); Assert.assertEquals(32.0,ConvertUtil.pointToPixel(shape.getHeight()),0.01); } 最后{if(stream!= null)stream.close(); }
-
-
使用默認值初始化此類的新實例。使用指定的密碼初始化此類的新實例以加載加密文檔的快捷方式。用於將屬性設置為指定值的此類的新實例初始化的快捷方式。獲取或設置在需要時將用於將文檔中找到的相對URI解析為絕對URI的字符串。可以為null或空字符串。默認為空。獲取或設置是否轉換圖元文件(世界貨幣基金組織 要么 電動勢 )圖片到 ng 圖片格式。
-
getConvertMetafilesToPng / setConvertMetafilesToPng
public boolean getConvertMetafilesToPng()/ public void setConvertMetafilesToPng(boolean value)
圖元文件(世界貨幣基金組織 要么 電動勢 )是未壓縮的圖像格式,有時需要大量RAM來保存和處理文檔。此選項允許將所有圖元文件圖像轉換為ng 關於文檔加載。請注意-將矢量圖形轉換為光柵會降低圖像質量。
獲取或設置是否將帶有EquationXML的形狀轉換為Office Math對象。
-
getConvertShapeToOfficeMath / setConvertShapeToOfficeMath
public boolean getConvertShapeToOfficeMath()/ public void setConvertShapeToOfficeMath(boolean value)
如果未在文檔中指定編碼,則獲取或設置將用於加載HTML,TXT或CHM文檔的編碼。可以為null。默認為空。
-
getEncoding / setEncoding
公共java.nio.charset.Charset getEncoding()/公共無效setEncoding(java.nio.charset.Charset值)
僅在加載HTML,TXT或CHM文檔時使用此屬性。
如果未在文檔中指定編碼,並且此屬性為
null,則系統將嘗試自動檢測編碼。
-
getFontSettings / setFontSettings
public FontSettings getFontSettings()/ public void setFontSettings(FontSettings value)
加載某些格式時,Aspose.Words可能需要解析字體。例如,在加載HTML文檔時,Aspose.Words可以解析字體以執行字體后備。
如果設置為null,則為默認靜態字體設置 FontSettings.DefaultInstance 將會被使用。
默認值為空。
-
getLanguagePreferences
公共LanguagePreferences getLanguagePreferences()
指定要加載的文檔的格式。默認是加載格式。該屬性的值為LoadFormat整數常量。
-
getLoadFormat / setLoadFormat
public int getLoadFormat()/ public void setLoadFormat(int value)
建議您指定 加載格式值,然后讓Aspose.Words自動檢測文件格式。如果知道要加載的文檔的格式,則可以顯式指定格式,這將通過自動檢測格式帶來的開銷而略微減少加載時間。如果您指定了顯式加載格式,但結果卻是錯誤的,則將調用自動檢測並再次嘗試加載文件。
例:
顯示打開html文檔時如何指定基本URI。//如果要加載.html文檔,其中包含通過相對URI鏈接的圖像 //當圖片位於其他位置時,我們需要將相對URI解析為絕對的URI //通過創建HtmlLoadOptions並提供基本URI HtmlLoadOptions loadOptions =新的HtmlLoadOptions(LoadFormat.HTML,“”,getImageDir()); Assert.assertEquals(LoadFormat.HTML,loadOptions.getLoadFormat()); Document doc = new Document(getMyDir()+“ Missing image.html”,loadOptions); //當圖片在輸入.html中損壞時,已在我們的基本URI中成功找到它 形狀imageShape =(Shape)doc.getChildNodes(NodeType.SHAPE,true).get(0); Assert.assertTrue(imageShape.isImage()); //圖片將在輸出文檔中正確顯示 doc.save(getArtifactsDir()+“ HtmlLoadOptions.BaseUri.docx”);
允許指定文檔加載過程應與特定的MS Word版本匹配。默認值為MsWordVersion.WORD_2007該屬性的值為MsWordVersion整數常量。
-
getMswVersion / setMswVersion
public int getMswVersion()/ public void setMswVersion(int value)
不同的Word版本在加載過程中處理文檔內容和格式的某些方面可能會略有不同,這可能導致文檔對象模型之間的細微差異。
獲取或設置用於打開加密文檔的密碼。可以為null或空字符串。默認為空。
-
getPassword / setPassword
公共java.lang.String getPassword()/公共無效setPassword(java.lang.String值)
您需要知道密碼才能打開加密的文檔。如果文檔未加密,請將其設置為null或空字符串。
例:
顯示如何對加密的文檔文件進行簽名。//從PKCS#12存儲區創建X.509證書,該存儲區應包含私鑰。 CertificateHolder certificateHolder = CertificateHolder.create(getMyDir()+“ morzal.pfx”,“ aw”); //創建注釋,日期和解密密碼,這些密碼將與我們的新數字簽名一起使用。 SignOptions signOptions = new SignOptions(); { signOptions.setComments(“ Comment”); signOptions.setSignTime(new Date()); signOptions.setDecryptionPassword(“ docPassword”); } //為未簽名的輸入文檔設置本地系統文件名,為其新的數字簽名副本設置輸出文件名。 字符串inputFileName = getMyDir()+“ Encrypted.docx”; 字符串outputFileName = getArtifactsDir()+“ DigitalSignatureUtil.DecryptionPassword.docx”; DigitalSignatureUtil.sign(inputFileName,outputFileName,certificateHolder,signOptions);
獲取或設置在讀取Microsoft Word格式時是否保留INCLUDEPICTURE字段。默認值為false。
-
getPreserveIncludePictureField / setPreserveIncludePictureField
public boolean getPreserveIncludePictureField()/ public void setPreserveIncludePictureField(boolean value)
默認情況下,INCLUDEPICTURE字段將轉換為形狀對象。如果需要保留字段,例如,如果您希望以編程方式進行更新,則可以覆蓋該字段。但是請注意,這種方法在Aspose.Words中並不常見。自行承擔使用風險。
可能的一種使用情況可能是使用MERGEFIELD作為子字段來動態更改圖片的源路徑。在這種情況下,您需要將INCLUDEPICTURE保留在模型中。
允許控制從HTML,MHTML導入文檔時如何加載外部資源(圖像,樣式表)。
-
getResourceLoadingCallback / setResourceLoadingCallback
公共IResourceLoadingCallback getResourceLoadingCallback()/公共無效setResourceLoadingCallback(IResourceLoadingCallback 值)
讀取文檔時允許使用臨時文件。默認情況下,此屬性為null並且不使用任何臨時文件。
-
getTempFolder / setTempFolder
公共java.lang.String getTempFolder()/公共無效setTempFolder(java.lang.String值)
該文件夾必須存在並且可寫,否則將引發異常。
讀取完成后,Aspose.Words會自動刪除所有臨時文件。
例:
顯示如何使用臨時文件加載文檔。//請注意,這種方法可以減少內存使用,但會降低速度。 LoadOptions loadOptions = new LoadOptions(); loadOptions.setTempFolder(“ C:\\ TempFolder \\”); //確保目錄存在並加載。 新File(loadOptions.getTempFolder())。mkdir(); Document doc = new Document(getMyDir()+“ Document.docx”,loadOptions);
-
getUpdateDirtyFields / setUpdateDirtyFields
public boolean getUpdateDirtyFields()/ public void setUpdateDirtyFields(boolean value)
例:
顯示如何使用特殊屬性更新字段結果。Document doc = new Document(); DocumentBuilder builder =新的DocumentBuilder(doc); //提供文檔的內置“ Author”屬性值,然后在字段中顯示它。 doc.getBuiltInDocumentProperties()。setAuthor(“ John Doe”); FieldAuthor字段=(FieldAuthor)builder.insertField(FieldType.FIELD_AUTHOR,true); Assert.assertFalse(field.isDirty()); Assert.assertEquals(“ John Doe”,field.getResult()); //更新屬性。該字段仍顯示舊值。 doc.getBuiltInDocumentProperties()。setAuthor(“ John&Jane Doe”); Assert.assertEquals(“ John Doe”,field.getResult()); //由於該字段的值已過期,因此我們可以將其標記為“臟”。 //此值將保持過期,直到我們使用Field.Update()方法手動更新該字段為止。 field.isDirty(true); OutputStream docStream = new FileOutputStream(getArtifactsDir()+“ Filed.UpdateDirtyFields.docx”); 嘗試{ //如果我們保存而未調用更新方法, //該字段將繼續在輸出文檔中顯示過期值。 doc.save(docStream,SaveFormat.DOCX); // LoadOptions對象具有更新所有字段的選項 //加載文檔時標記為“臟”。 LoadOptions options = new LoadOptions(); options.setUpdateDirtyFields(updateDirtyFields); doc = new Document(String.valueOf(docStream),options); Assert.assertEquals(“ John&Jane Doe”,doc.getBuiltInDocumentProperties()。getAuthor()); field =(FieldAuthor)doc.getRange()。getFields()。get(0); //這樣更新臟字段會自動將其“ IsDirty”標志設置為false。 如果(updateDirtyFields) { Assert.assertEquals(“ John&Jane Doe”,field.getResult()); Assert.assertFalse(field.isDirty()); }其他{ Assert.assertEquals(“ John Doe”,field.getResult()); Assert.assertTrue(field.isDirty()); } }最后{ 如果(docStream!= null)docStream.close(); }
在加載操作期間被調用,當檢測到可能導致數據或格式保真度損失的問題時。
-
getWarningCallback / setWarningCallback
公共IWarningCallback getWarningCallback()/公共無效setWarningCallback(IWarningCallback 值)
