FileFormatInfo

FileFormatInfo class

Contiene datos devueltos porFileFormatUtil métodos de detección de formato de documento.

public class FileFormatInfo

Propiedades

Nombre Descripción
Encoding { get; } Obtiene la codificación detectada si corresponde al formato del documento actual. Por el momento detecta la codificación solo para documentos HTML.
HasDigitalSignature { get; } Devuelve verdadero si este documento contiene una firma digital. Esta propiedad simplemente informa que una firma digital está presente en un documento, pero no especifica si la firma es válida o no.
IsEncrypted { get; } Devuelve verdadero si el documento está encriptado y requiere una contraseña para abrirlo.
LoadFormat { get; } Obtiene el formato del documento detectado.

Observaciones

No crea instancias de esta clase directamente. Los objetos de esta clase son devueltos por DetectFileFormatmétodos.

Ejemplos

Muestra cómo usar la clase FileFormatUtil para detectar el formato y el cifrado del documento.

Document doc = new Document();

// Configurar un objeto SaveOptions para cifrar el documento
// con una contraseña cuando lo guardamos, y luego guardamos el documento.
OdtSaveOptions saveOptions = new OdtSaveOptions(SaveFormat.Odt);
saveOptions.Password = "MyPassword";

doc.Save(ArtifactsDir + "File.DetectDocumentEncryption.odt", saveOptions);

// Verificar el tipo de archivo de nuestro documento, y su estado de cifrado.
FileFormatInfo info = FileFormatUtil.DetectFileFormat(ArtifactsDir + "File.DetectDocumentEncryption.odt");

Assert.AreEqual(".odt", FileFormatUtil.LoadFormatToExtension(info.LoadFormat));
Assert.True(info.IsEncrypted);

Muestra cómo usar la clase FileFormatUtil para detectar el formato del documento y la presencia de firmas digitales.

// Use una instancia de FileFormatInfo para verificar que un documento no esté firmado digitalmente.
FileFormatInfo info = FileFormatUtil.DetectFileFormat(MyDir + "Document.docx");

Assert.AreEqual(".docx", FileFormatUtil.LoadFormatToExtension(info.LoadFormat));
Assert.False(info.HasDigitalSignature);

CertificateHolder certificateHolder = CertificateHolder.Create(MyDir + "morzal.pfx", "aw", null);
DigitalSignatureUtil.Sign(MyDir + "Document.docx", ArtifactsDir + "File.DetectDigitalSignatures.docx",
    certificateHolder, new SignOptions() { SignTime = DateTime.Now });

// Use un nuevo FileFormatInstance para confirmar que está firmado.
info = FileFormatUtil.DetectFileFormat(ArtifactsDir + "File.DetectDigitalSignatures.docx");

Assert.True(info.HasDigitalSignature);

// Podemos cargar y acceder a las firmas de un documento firmado en una colección como esta.
Assert.AreEqual(1, DigitalSignatureUtil.LoadSignatures(ArtifactsDir + "File.DetectDigitalSignatures.docx").Count);

Ver también