Redactor
Contenido
[
Ocultar
]
Redactor class
Representa una clase principal que controla el proceso de redacción de documentos, lo que permite abrir, redactar y guardar documentos.
public sealed class Redactor : IDisposable, IPreviewable
Constructores
Nombre | Descripción |
---|---|
Redactor(Stream) | Inicializa una nueva instancia deRedactor clase usando stream. |
Redactor(string) | Inicializa una nueva instancia deRedactor clase usando la ruta del archivo. |
Redactor(Stream, LoadOptions) | Inicializa una nueva instancia deRedactor clase para un documento protegido por contraseña usando stream. |
Redactor(string, LoadOptions) | Inicializa una nueva instancia deRedactor class para un documento protegido por contraseña utilizando su ruta. |
Redactor(Stream, LoadOptions, RedactorSettings) | Inicializa una nueva instancia deRedactor class para un documento protegido por contraseña usando stream y settings. |
Redactor(string, LoadOptions, RedactorSettings) | Inicializa una nueva instancia deRedactor class para un documento protegido por contraseña utilizando su ruta y configuración. |
Métodos
Nombre | Descripción |
---|---|
Apply(Redaction) | Aplica una redacción al documento. |
Apply(RedactionPolicy) | Aplica una política de redacción al documento. |
Apply(Redaction[]) | Aplica un conjunto de redacciones al documento. |
Dispose() | Libera recursos. |
GeneratePreview(PreviewOptions) | Genera imágenes de vista previa de páginas específicas en un formato de imagen determinado. |
GetDocumentInfo() | Obtiene la información general sobre el documento: tamaño, número de páginas, etc. |
Save() | Guarda el documento en un archivo con las siguientes opciones: AddSuffix = true, RasterizeToPDF = true. |
Save(SaveOptions) | Guarda el documento en un archivo. |
Save(Stream, RasterizationOptions) | Guarda el documento en un flujo, incluida la ubicación personalizada. |
Observaciones
Aprende más
- Más detalles sobre la aplicación de redacciones: Conceptos básicos de redacción
- Temas de redacción más avanzados: Uso avanzado
Ejemplos
El siguiente ejemplo demuestra la aplicación de una sola redacción al documento.
El siguiente ejemplo demuestra la aplicación de una lista de redacciones al documento.
El siguiente ejemplo muestra cómo aplicar una política de redacción a todos los archivos dentro de una carpeta de entrada determinada y guardarlos en una de las carpetas de salida, para archivos actualizados correctamente y para archivos fallidos.
El siguiente ejemplo muestra cómo abrir documentos protegidos con contraseña usando LoadOptions.
El siguiente ejemplo muestra cómo guardar un documento usando SaveOptions.
using (Redactor redactor = new Redactor(@"D:\\test.docx"))
{
RedactorChangeLog result = redactor.Apply(new RegexRedaction(LookupStrings.SSNRegexPattern, new ReplacementOptions("[ssn]")));
if (result.Status != RedactionStatus.Failed)
{
redactor.Save();
};
}
using (Redactor redactor = new Redactor(@"D:\\test.docx"))
{
var redactionList = new Redaction[]
{
new ExactPhraseRedaction(LookupStrings.ClientName, new ReplacementOptions("[client]")),
new ExactPhraseRedaction(LookupStrings.ClientAddress, new ReplacementOptions(System.Drawing.Color.Red)),
new RegexRedaction(LookupStrings.SSNRegexPattern, new ReplacementOptions("[ssn]")),
new RegexRedaction(LookupStrings.BankCardRegexPattern, new ReplacementOptions(System.Drawing.Color.Blue)),
// ... otras redacciones
new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
new EraseMetadataRedaction(MetadataFilter.Author),
new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--")
};
RedactorChangeLog result = redactor.Apply(redactionList);
// falso, si al menos una redacción falló
if (result.Status != RedactionStatus.Failed)
{
redactor.Save();
};
}
RedactionPolicy policy = RedactionPolicy.Load("RedactionPolicy.xml");
foreach (var fileEntry in Directory.GetFileNames("C:\\Inbound"))
{
using (Redactor redactor = new Redactor(Path.Combine("C:\\Inbound\\", fileEntry)))
{
RedactorChangeLog result = redactor.Apply(policy);
String resultFolder = result.Status != RedactionStatus.Failed ? "C:\\Outbound\\Done\\" : "C:\\Outbound\\Failed\\";
using (Stream fileStream = File.Open(Path.Combine(resultFolder, fileEntry), FileMode.Open, FileAccess.ReadWrite))
{
redactor.Save(fileStream, new RasterizationOptions() { Enabled = false });
}
}
}
LoadOptions loadOptions = new LoadOptions("mypassword");
using (Redactor redactor = new Redactor(@"C:\sample.pdf", loadOptions))
{
// Aquí podemos usar la instancia del documento para realizar redacciones
}
using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
{
// La redacción del documento va aquí
// ...
// Guardar el documento con las opciones predeterminadas (convertir páginas en imágenes, guardar como PDF)
redactor.Save();
// Guardar el documento en formato original sobrescribiendo el archivo original
redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
// Guardar el documento en el archivo "*_Redacted.*" en formato original
redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
// Guarde el documento en "*_AnyText.*" (por ejemplo, marca de tiempo en lugar de "AnyText") en su nombre de archivo sin rasterizar
redactor.Save(new SaveOptions(false, "AnyText"));
}
Ver también
- interface IPreviewable
- espacio de nombres GroupDocs.Redaction
- asamblea GroupDocs.Redaction