Сохранение документа
Большинство задач, которые необходимо выполнить с помощью Aspose.Words, связаны с сохранением документа. Для сохранения документа в Aspose.Words предусмотрен метод Save класса Document. Документ может быть сохранен в любом формате сохранения, поддерживаемом Aspose.Words. Список всех поддерживаемых форматов сохранения приведен в списке SaveFormat.
Сохранить в файл
Просто используйте метод Save с именем файла. Aspose.Words определит формат сохранения на основе указанного вами расширения файла.
В следующем примере кода показано, как загрузить и сохранить документ в файл:
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(); | |
// Load the document from the absolute path on disk. | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.docx"); | |
System::String outputPath = outputDataDir + u"LoadAndSaveToDisk.docx"; | |
// Save the document as DOC document."); | |
doc->Save(outputPath); |
Сохранить в потоке
Передайте объект stream методу Save. При сохранении в stream необходимо явно указать формат сохранения.
В следующем примере кода показано, как загрузить и сохранить документ в потоке:
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(); | |
// Open the stream. Read only access is enough for Aspose.Words to load a document. | |
System::SharedPtr<System::IO::Stream> stream = System::IO::File::OpenRead(inputDataDir + u"Document.docx"); | |
// Load the entire document into memory. | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(stream); | |
// You can close the stream now, it is no longer needed because the document is in memory. | |
stream->Close(); | |
// ... do something with the document | |
// Convert the document to a different format and save to stream. | |
System::SharedPtr<System::IO::MemoryStream> dstStream = System::MakeObject<System::IO::MemoryStream>(); | |
doc->Save(dstStream, SaveFormat::Doc); | |
// Rewind the stream position back to zero so it is ready for the next reader. | |
dstStream->set_Position(0); | |
// Save the document from stream, to disk. Normally you would do something with the stream directly, | |
// For example writing the data to a database. | |
System::String outputPath = outputDataDir + u"LoadAndSaveToStream.docx"; | |
System::IO::File::WriteAllBytes(outputPath, dstStream->ToArray()); |
Вы можете загрузить файл шаблона для этого примера с Aspose.Words GitHub.
Сохранить в PCL
Aspose.Words поддерживает сохранение документа на PCL (языке командной строки принтера). Aspose.Words позволяет сохранять документы в формате PCL 6 (PCL 6 Enhanced или PCL XL). Класс PclSaveOptions
можно использовать для указания дополнительных параметров при сохранении документа в формате PCL.
В следующем примере кода показано, как сохранить документ в PCL с помощью параметров сохранения:
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(); | |
// Load the document from disk. | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Test File (docx).docx"); | |
System::SharedPtr<PclSaveOptions> saveOptions = System::MakeObject<PclSaveOptions>(); | |
saveOptions->set_SaveFormat(SaveFormat::Pcl); | |
saveOptions->set_RasterizeTransformedElements(false); | |
// Export the document as an PCL file. | |
doc->Save(outputDataDir + u"ConvertDocumentToPCL.pcl", saveOptions); |