Посочете настройките за запис

Когато записвате документ, можете да зададете някои напреднали свойства. Aspose.Words Ви осигурява SaveOptions клас, който позволява по-точен контрол на процеса на спасяване. Има претоварване на Save метод, който приема SaveOptions обект го трябва да бъде обект на клас, получен от SaveOptions Клас. Всеки save формат има съответен клас, който притежава опции за запис за този save формат, например, има PdfSaveOptions за запис във формат PDF, MarkdownSaveOptions за спестяване Markdown формат, или ImageSaveOptions за спасяване на образ. Тази статия дава примери за работа с някои класове опции, получени от SaveOptions.

Следният пример за код показва как да зададете опциите за запис преди да запишете документа в HTML:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
string fileName = "TestFile RenderShape.docx";
Document doc = new Document(dataDir + fileName);
// This is the directory we want the exported images to be saved to.
string imagesDir = Path.Combine(dataDir, "Images");
// The folder specified needs to exist and should be empty.
if (Directory.Exists(imagesDir))
Directory.Delete(imagesDir, true);
Directory.CreateDirectory(imagesDir);
// Set an option to export form fields as plain text, not as HTML input elements.
HtmlSaveOptions options = new HtmlSaveOptions(SaveFormat.Html);
options.ExportTextInputFormFieldAsText = true;
options.ImagesFolder = imagesDir;
dataDir = dataDir + "Document.SaveWithOptions_out.html";
doc.Save(dataDir, options);

Статията описва няколко свойства, които можете да контролирате при запазване на документ.

Шифроване на документ С парола

Използвайте Password имот, за да получите или зададете парола за криптиран документ. Използвайте Password собственост на съответния клас за работа с избрания формат на документа.

Например при запис на документ в DOC или DOT формат, използвайте Password собственост на DocSaveOptions Клас.

Следният пример за код показва как да зададете парола за шифроване на документ чрез метода за криптиране RC4:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Document.docx");
DocSaveOptions docSaveOptions = new DocSaveOptions();
docSaveOptions.Password = "password";
dataDir = dataDir + "Document.Password_out.docx";
doc.Save(dataDir, docSaveOptions);

При запис на документ във формат Odt, използвайте Password собственост на OdtSaveOptions Клас.

Следният пример за код показва как да заредите и запишете криптиран OpenDocument с парола:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + @"encrypted.odt", new Aspose.Words.LoadOptions("password"));
doc.Save(dataDir + "out.odt", new OdtSaveOptions("newpassword"));

Не всички формати поддържат криптиране и използването на Password собственост.

Показване на уведомленията за напредък при запис на документ

Aspose.Words дава възможност за употреба на ProgressCallback собственост, за да получите уведомления за напредъка на спасяването на документи.

Вече е на разположение при спестяване на DOCX, FlatOpc, DOCM, DOTМ, DOTX, HTML, MHTML, EPUB, XamlFlow, XamlFlowPack или TXT формати.

Обновяване на времето за създаване на документа

Aspose.Words дава възможност за използване на CreatedTime собственост, за да получите или определите датата на създаване на документа по UTC. Можете също така да актуализирате тази стойност, преди да запишете използването на UpdateCreatedTimeProperty вариант.

Следният пример с код показва как да се актуализира времето за създаване на документа:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(MyDir + "Rendering.docx");
PdfSaveOptions saveOptions = new PdfSaveOptions { UpdateLastPrintedProperty = true };
doc.Save(ArtifactsDir + "WorkingWithPdfSaveOptions.UpdateIfLastPrinted.pdf", saveOptions);

Обновяване Последна запазена собственост

Aspose.Words дава възможност за използване на UpdateLastSavedTimeProperty имот, за да получите или да зададете стойност, определяща дали LastSavedTime Имотът се актуализира преди да се запази.

Следният пример с код показва как да зададете това свойство и да запазите документа:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Document.docx");
OoxmlSaveOptions ooxmlSaveOptions = new OoxmlSaveOptions();
ooxmlSaveOptions.UpdateLastSavedTimeProperty = true;
dataDir = dataDir + "UpdateLastSavedTimeProperty_out.docx";
// Save the document to disk.
doc.Save(dataDir, ooxmlSaveOptions);

Контрол на външни ресурси при запис на документ в HTML или SVG

За да конвертирате HTML или SVG в PDF, просто се позовавате на Save метод и да се посочи име на файл с разширението на PDF. Ако искате да заредите изображения, CSS и др. от външни източници, можете да използвате IResourceSavingCallback.

Следният пример за код показва как да конвертирате HTML в PDF и да зареждате изображения от външни източници:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
public class ImageLoadingWithCredentialsHandler : IResourceLoadingCallback
{
public ImageLoadingWithCredentialsHandler()
{
mWebClient = new WebClient();
}
public ResourceLoadingAction ResourceLoading(ResourceLoadingArgs args)
{
if (args.ResourceType == ResourceType.Image)
{
Uri uri = new Uri(args.Uri);
if (uri.Host == "www.aspose.com")
mWebClient.Credentials = new NetworkCredential("User1", "akjdlsfkjs");
else
mWebClient.Credentials = new NetworkCredential("SomeOtherUserID", "wiurlnlvs");
// Download the bytes from the location referenced by the URI.
byte[] imageBytes = mWebClient.DownloadData(args.Uri);
args.SetData(imageBytes);
return ResourceLoadingAction.UserProvided;
}
else
{
return ResourceLoadingAction.Default;
}
}
private WebClient mWebClient;
}

Запис черно и бяло изображение с един бит на пиксел формат

За да контролирате опциите за запис на изображения, ImageSaveOptions Използва се клас. Например, можете да използвате PixelFormat свойство за задаване на формат пиксел за генерираните изображения. Моля, имайте предвид, че форматът пиксел на изходното изображение може да се различава от зададената стойност поради работата на GDI+.

Следният пример за код показва как да се запази черно и бяло изображение с един бит на пиксел формат:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
ImageSaveOptions opt = new ImageSaveOptions(SaveFormat.Png);
PageSet pageSet = new PageSet(new PageRange(1, 1));
opt.PageSet = pageSet;
opt.ImageColorMode = ImageColorMode.BlackAndWhite;
opt.PixelFormat = ImagePixelFormat.Format1bppIndexed;
dataDir = dataDir + "Format1bppIndexed_Out.Png";
doc.Save(dataDir, opt);