Tentukan Opsi Penyimpanan

Saat menyimpan dokumen, Anda dapat mengatur beberapa properti lanjutan. Aspose.Words memberi Anda kelas SaveOptions, yang memungkinkan kontrol proses penyimpanan yang lebih tepat. Ada kelebihan metode Save yang menerima objek SaveOptions - itu harus menjadi objek kelas yang diturunkan dari kelas SaveOptions. Setiap format penyimpanan memiliki kelas terkait yang menyimpan opsi penyimpanan untuk format penyimpanan ini, misalnya, ada PdfSaveOptions untuk menyimpan ke format PDF, MarkdownSaveOptions untuk menyimpan ke format Markdown, atau ImageSaveOptions untuk menyimpan ke gambar. Artikel ini memberikan contoh bekerja dengan beberapa kelas opsi yang diturunkan dari SaveOptions.

Contoh kode berikut menunjukkan cara mengatur opsi penyimpanan sebelum menyimpan dokumen menjadi 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);

Artikel ini menjelaskan beberapa properti yang dapat Anda kontrol saat menyimpan dokumen.

Enkripsi Dokumen Dengan Kata Sandi

Gunakan properti Password untuk mendapatkan atau menyetel kata sandi untuk dokumen terenkripsi. Gunakan properti Password dari kelas terkait untuk bekerja dengan format dokumen yang dipilih.

Misalnya, saat menyimpan dokumen ke format DOC atau DOT, gunakan properti Password dari kelas DocSaveOptions.

Contoh kode berikut menunjukkan cara mengatur kata sandi untuk mengenkripsi dokumen menggunakan metode enkripsi 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);

Saat menyimpan dokumen ke format ODT, gunakan properti Password dari kelas OdtSaveOptions.

Contoh kode berikut menunjukkan cara memuat dan menyimpan OpenDocument yang dienkripsi dengan kata sandi:

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"));

Tidak semua format mendukung enkripsi dan penggunaan properti Password.

Tampilkan Pemberitahuan Kemajuan Penyimpanan Dokumen

Aspose.Words menyediakan kemampuan untuk menggunakan properti ProgressCallback untuk mendapatkan pemberitahuan tentang kemajuan penyimpanan dokumen.

Sekarang tersedia saat menyimpan ke DOCX, FlatOpc, DOCM, DOTM, DOTX, HTML, MHTML, EPUB, XamlFlow, XamlFlowPack, atau format TXT.

Perbarui Waktu Pembuatan Dokumen

Aspose.Words menyediakan kemampuan untuk menggunakan properti CreatedTime untuk mendapatkan atau menyetel tanggal pembuatan dokumen di UTC. Anda juga dapat memperbarui nilai ini sebelum menyimpan menggunakan opsi UpdateCreatedTimeProperty.

Contoh kode berikut menunjukkan cara memperbarui waktu pembuatan dokumen:

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);

Perbarui Properti yang Terakhir Disimpan

Aspose.Words menyediakan kemampuan untuk menggunakan properti UpdateLastSavedTimeProperty untuk mendapatkan atau menetapkan nilai yang menentukan apakah properti LastSavedTime diperbarui sebelum disimpan.

Contoh kode berikut menunjukkan cara mengatur properti ini dan menyimpan dokumen:

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);

Simpan Gambar Hitam Putih dengan Format Satu Bit Per Piksel

Untuk mengontrol opsi penyimpanan gambar, kelas ImageSaveOptions digunakan. Misalnya, Anda dapat menggunakan properti PixelFormat untuk mengatur format piksel untuk gambar yang dihasilkan. Harap perhatikan bahwa format piksel gambar keluaran mungkin berbeda dari nilai yang ditetapkan karena karya GDI+.

Contoh kode berikut menunjukkan cara menyimpan gambar hitam putih dengan format satu bit per piksel:

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);