类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
 
             获取或设置是否转换图元文件(世界货币基金组织 要么 电动势 )图片到 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();
    }

在加载操作期间被调用,当检测到可能导致数据或格式保真度损失的问题时。

posted on 2020-12-09 18:58  微笑点燃希望  阅读(1315)  评论(0编辑  收藏  举报
font=white