Задаване На Опции За Запис

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
// The path to the documents directories.
System::String inputDataDir = GetInputDataDir_LoadingAndSaving();
System::String outputDataDir = GetOutputDataDir_LoadingAndSaving();
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"TestFile RenderShape.docx");
// This is the directory we want the exported images to be saved to.
System::String imagesDir = System::IO::Path::Combine(outputDataDir, u"SpecifySaveOption.Images");
// The folder specified needs to exist and should be empty.
if (System::IO::Directory::Exists(imagesDir))
{
System::IO::Directory::Delete(imagesDir, true);
}
System::IO::Directory::CreateDirectory_(imagesDir);
// Set an option to export form fields as plain text, not as HTML input elements.
System::SharedPtr<HtmlSaveOptions> options = System::MakeObject<HtmlSaveOptions>(SaveFormat::Html);
options->set_ExportTextInputFormFieldAsText(true);
options->set_ImagesFolder(imagesDir);
System::String outputPath = outputDataDir + u"SpecifySaveOption.html";
doc->Save(outputPath, 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-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<DocSaveOptions> docSaveOptions = System::MakeObject<DocSaveOptions>();
docSaveOptions->set_Password(u"password");
System::String outputPath = outputDataDir + u"WorkingWithDoc.EncryptDocumentWithPassword.doc";
doc->Save(outputPath, docSaveOptions);

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"encrypted.odt", System::MakeObject<LoadOptions>(u"password"));
System::String outputPath = outputDataDir + u"Load_Options.LoadAndSaveEncryptedODT.odt";
doc->Save(outputPath, System::MakeObject<OdtSaveOptions>(u"newpassword"));

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

Показване На Известията За Напредъка На Запис На Документ

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

Сега е на разположение при спестяване на DOCX, FlatOpc, DOCM, DOTM, 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-C
// Open a document
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"TestFile.docx");
System::SharedPtr<SaveOptions> options = System::MakeObject<PdfSaveOptions>();
options->set_UpdateLastPrintedProperty(false);
System::String outputPath = outputDataDir + u"WorkingWithPdfSaveOptions.UpdateIfLastPrinted.pdf";
doc->Save(outputPath, options);

Актуализиране На Последното Запазено Място За Настаняване

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<OoxmlSaveOptions> ooxmlSaveOptions = System::MakeObject<OoxmlSaveOptions>();
ooxmlSaveOptions->set_UpdateLastSavedTimeProperty(true);
System::String outputPath = outputDataDir + u"WorkingWithOoxml.UpdateLastSavedTimeProperty.docx";
// Save the document to disk.
doc->Save(outputPath, ooxmlSaveOptions);

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

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

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

For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C
System::SharedPtr<ImageSaveOptions> opt = System::MakeObject<ImageSaveOptions>(SaveFormat::Png);
auto pageSet = System::MakeObject<PageSet>(System::MakeArray<System::SharedPtr<PageRange>>({System::MakeObject<PageRange>(1,1)}));
opt->set_PageSet(pageSet);
opt->set_ImageColorMode(ImageColorMode::BlackAndWhite);
opt->set_PixelFormat(ImagePixelFormat::Format1bppIndexed);
System::String outputPath = outputDataDir + u"ImageColorFilters.SaveImageToOnebitPerPixel.png";
doc->Save(outputPath, opt);