com.aspose.words 類LoadOptions


類LoadOptions

  • java.lang.Object
  • com.aspose.words.LoadOptions
將文檔加載到文檔中時,允許指定其他選項(例如密碼或基本URI) 文件 目的。

例:

顯示如何加載加密的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
 
             獲取或設置是否將帶有EquationXML的形狀轉換為Office Math對象。
java.nio.charset.Charset getEncoding()  
void
setEncoding(java.nio.charset.Charsetvalue)
 
             如果未在文檔中指定編碼,則獲取或設置將用於加載HTML,TXT或CHM文檔的編碼。可以為null。默認為空。
FontSettings getFontSettings()  
void
 
             允許指定文檔字體設置。
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
 
             獲取或設置在讀取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:

        1. 從流中加載HTML文檔時,該文檔包含具有相對URI的圖像,並且在BASE HTML元素中沒有指定基本URI。
        2. 將文檔保存為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 將會被使用。

    默認值為空。

獲取在加載文檔時將使用的語言首選項。

指定要加載的文檔的格式。默認是加載格式。該屬性的值為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導入文檔時如何加載外部資源(圖像,樣式表)。

讀取文檔時允許使用臨時文件。默認情況下,此屬性為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);

指定是否使用dirty屬性更新字段。

  • 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();
    }

在加載操作期間被調用,當檢測到可能導致數據或格式保真度損失的問題時。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM