Tentukan Opsi Simpan
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 – objek tersebut harus berupa objek kelas yang diturunkan dari kelas SaveOptions. Setiap format penyimpanan memiliki kelas terkait yang berisi 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 berasal dari SaveOptions.
Contoh kode berikut menunjukkan cara mengatur opsi penyimpanan sebelum menyimpan dokumen ke dalam 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); | |
Artikel ini menjelaskan beberapa properti yang dapat Anda kontrol saat menyimpan dokumen.
Enkripsi Dokumen Dengan Kata Sandi
Gunakan properti Password untuk mendapatkan atau mengatur 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-.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); |
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-.NET | |
Document doc = new Document(dataDir + @"encrypted.odt", new Aspose.Words.LoadOptions("password")); | |
doc.Save(dataDir + "out.odt", new OdtSaveOptions("newpassword")); |
Tidak semua format mendukung enkripsi dan penggunaan properti Password.
Tampilkan Pemberitahuan Kemajuan Penyimpanan Dokumen
Aspose.Words menyediakan kemampuan untuk menggunakan properti ProgressCallback untuk menerima pemberitahuan tentang kemajuan penyimpanan dokumen.
Sekarang tersedia saat menyimpan ke format DOCX, FlatOpc, DOCM, DOTM, DOTX, HTML, MHTML, EPUB, XamlFlow, XamlFlowPack, atau TXT.
Perbarui Waktu Pembuatan Dokumen
Aspose.Words menyediakan kemampuan untuk menggunakan properti CreatedTime untuk mendapatkan atau mengatur tanggal pembuatan dokumen dalam 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-.NET | |
Document doc = new Document(MyDir + "Rendering.docx"); | |
PdfSaveOptions saveOptions = new PdfSaveOptions { UpdateLastPrintedProperty = true }; | |
doc.Save(ArtifactsDir + "WorkingWithPdfSaveOptions.UpdateIfLastPrinted.pdf", saveOptions); |
Perbarui Properti Terakhir yang 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-.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); |
Kontrol Sumber Daya Eksternal Saat Menyimpan Dokumen ke dalam HTML atau SVG
Untuk mengonversi HTML atau SVG menjadi PDF, cukup aktifkan metode Save dan tentukan nama file dengan ekstensi “.PDF”. Jika Anda ingin memuat gambar, CSS, dll dari sumber eksternal, Anda dapat menggunakan IResourceSavingCallback.
Contoh kode berikut menunjukkan cara mengonversi HTML ke PDF dan memuat gambar dari sumber eksternal:
// 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; | |
} |
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 dicatat bahwa format piksel gambar keluaran mungkin berbeda dari nilai yang ditetapkan karena kerja 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-.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); |