Redactor
Содержание
[
Скрывать
]
Redactor class
Представляет основной класс, управляющий процессом редактирования документа, позволяющий открывать, редактировать и сохранять документы.
public sealed class Redactor : IDisposable, IPreviewable
Конструкторы
Имя | Описание |
---|---|
Redactor(Stream) | Инициализирует новый экземплярRedactor класс, использующий stream. |
Redactor(string) | Инициализирует новый экземплярRedactor класс, используя путь к файлу. |
Redactor(Stream, LoadOptions) | Инициализирует новый экземплярRedactor class для защищенного паролем документа с помощью stream. |
Redactor(string, LoadOptions) | Инициализирует новый экземплярRedactor класс для защищенного паролем документа, используя его путь. |
Redactor(Stream, LoadOptions, RedactorSettings) | Инициализирует новый экземплярRedactor класс для документа, защищенного паролем, с использованием потока и настроек. |
Redactor(string, LoadOptions, RedactorSettings) | Инициализирует новый экземплярRedactor class для защищенного паролем документа, используя его путь и настройки. |
Методы
Имя | Описание |
---|---|
Apply(Redaction) | Применяет редактирование к документу. |
Apply(RedactionPolicy) | Применяет политику редактирования к документу. |
Apply(Redaction[]) | Применяет набор исправлений к документу. |
Dispose() | Освобождает ресурсы. |
GeneratePreview(PreviewOptions) | Генерирует изображения для предварительного просмотра определенных страниц в заданном формате изображения. |
GetDocumentInfo() | Получает общую информацию о документе - размер, количество страниц и т. д. |
Save() | Сохраняет документ в файл со следующими параметрами: AddSuffix = true, RasterizeToPDF = true. |
Save(SaveOptions) | Сохраняет документ в файл. |
Save(Stream, RasterizationOptions) | Сохраняет документ в поток, включая пользовательское местоположение. |
Примечания
Узнать больше
- Подробнее о применении правок: Основы редактирования
- Дополнительные темы редактирования: Расширенное использование
Примеры
В следующем примере показано применение к документу единственного исправления.
В следующем примере показано применение списка исправлений к документу.
В следующем примере показано, как применить политику редактирования ко всем файлам в заданной входящей папке и сохранить в одной из исходящих папок — для успешно обновленных файлов и для неудачно обновленных.
В следующем примере показано, как открыть защищенный паролем документ с помощью LoadOptions.
В следующем примере показано, как сохранить документ с помощью 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)),
// ... другие правки
new DeleteAnnotationRedaction("(?im:(use|show|describe))"),
new EraseMetadataRedaction(MetadataFilter.Author),
new MetadataSearchRedaction(LookupStrings.CompanyName, "--company--")
};
RedactorChangeLog result = redactor.Apply(redactionList);
// false, если хотя бы одно редактирование не удалось
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))
{
// Здесь мы можем использовать экземпляр документа для редактирования
}
using (Redactor redactor = new Redactor(@"C:\sample.pdf"))
{
// Здесь идет редактирование документа
// ...
// Сохраняем документ с параметрами по умолчанию (преобразование страниц в изображения, сохранение в формате PDF)
redactor.Save();
// Сохраняем документ в исходном формате, перезаписывая исходный файл
redactor.Save(new SaveOptions() { AddSuffix = false, RasterizeToPDF = false });
// Сохраняем документ в файл "*_Redacted.*" в оригинальном формате
redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
// Сохраняем документ в "*_AnyText.*" (например, временная метка вместо "AnyText") в его имени файла без растеризации
redactor.Save(new SaveOptions(false, "AnyText"));
}
Смотрите также
- interface IPreviewable
- пространство имен GroupDocs.Redaction
- сборка GroupDocs.Redaction