Save

Save(string)

Salva il documento in un file. Determina automaticamente il formato di salvataggio in base all’estensione.

public SaveOutputParameters Save(string fileName)
ParametroTipoDescrizione
fileNameStringNome del documento. Se esiste già un documento con il nome file specificato , il documento esistente verrà sovrascritto.

Valore di ritorno

Informazioni aggiuntive che puoi utilizzare facoltativamente.

Esempi

Mostra come aprire un documento e convertirlo in formato PDF.

Document doc = new Document(MyDir + "Document.docx");

doc.Save(ArtifactsDir + "Document.ConvertToPdf.pdf");

Mostra come convertire un PDF in un file .docx.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Hello world!");

doc.Save(ArtifactsDir + "PDF2Word.ConvertPdfToDocx.pdf");

// Carichiamo il documento PDF appena salvato e convertiamolo in .docx.
Document pdfDoc = new Document(ArtifactsDir + "PDF2Word.ConvertPdfToDocx.pdf");

pdfDoc.Save(ArtifactsDir + "PDF2Word.ConvertPdfToDocx.docx");

Guarda anche


Save(string, SaveFormat)

Salva il documento in un file nel formato specificato.

public SaveOutputParameters Save(string fileName, SaveFormat saveFormat)
ParametroTipoDescrizione
fileNameStringNome del documento. Se esiste già un documento con il nome file specificato , il documento esistente verrà sovrascritto.
saveFormatSaveFormatFormato in cui salvare il documento.

Valore di ritorno

Informazioni aggiuntive che puoi utilizzare facoltativamente.

Esempi

Mostra come convertire dal formato DOCX al formato HTML.

Document doc = new Document(MyDir + "Document.docx");

doc.Save(ArtifactsDir + "Document.ConvertToHtml.html", SaveFormat.Html);

Guarda anche


Save(string, SaveOptions)

Salva il documento in un file utilizzando le opzioni di salvataggio specificate.

public SaveOutputParameters Save(string fileName, SaveOptions saveOptions)
ParametroTipoDescrizione
fileNameStringNome del documento. Se esiste già un documento con il nome file specificato , il documento esistente verrà sovrascritto.
saveOptionsSaveOptionsSpecifica le opzioni che controllano la modalità di salvataggio del documento. Può esserenull.

Valore di ritorno

Informazioni aggiuntive che puoi utilizzare facoltativamente.

Esempi

Mostra come migliorare la qualità di un documento renderizzato con SaveOptions.

Document doc = new Document(MyDir + "Rendering.docx");
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Font.Size = 60;
builder.Writeln("Some text.");

SaveOptions options = new ImageSaveOptions(SaveFormat.Jpeg);
doc.Save(ArtifactsDir + "Document.ImageSaveOptions.Default.jpg", options);

options.UseAntiAliasing = true;
options.UseHighQualityRendering = true;

doc.Save(ArtifactsDir + "Document.ImageSaveOptions.HighQuality.jpg", options);

Mostra come convertire un PDF in un file .docx e personalizzare il processo di salvataggio con un oggetto SaveOptions.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("Hello world!");

doc.Save(ArtifactsDir + "PDF2Word.ConvertPdfToDocxCustom.pdf");

// Carichiamo il documento PDF appena salvato e convertiamolo in .docx.
Document pdfDoc = new Document(ArtifactsDir + "PDF2Word.ConvertPdfToDocxCustom.pdf");

OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(SaveFormat.Docx);

// Impostare la proprietà "Password" per crittografare il documento salvato con una password.
saveOptions.Password = "MyPassword";

pdfDoc.Save(ArtifactsDir + "PDF2Word.ConvertPdfToDocxCustom.docx", saveOptions);

Mostra come convertire ogni pagina di un documento in un’immagine TIFF separata.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("Page 1.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 2.");
builder.InsertImage(ImageDir + "Logo.jpg");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 3.");

// Creiamo un oggetto "ImageSaveOptions" che possiamo passare al metodo "Save" del documento
// per modificare il modo in cui quel metodo trasforma il documento in un'immagine.
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Tiff);

for (int i = 0; i < doc.PageCount; i++)
{
    // Imposta la proprietà "PageSet" sul numero della prima pagina da
    // da cui iniziare il rendering del documento.
    options.PageSet = new PageSet(i);
    // Esporta la pagina a 2325x5325 pixel e 600 dpi.
    options.Resolution = 600;
    options.ImageSize = new Size(2325, 5325);

    doc.Save(ArtifactsDir + $"ImageSaveOptions.PageByPage.{i + 1}.tiff", options);
}

Mostra come convertire una pagina di un documento in un’immagine JPEG.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("Page 1.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 2.");
builder.InsertImage(ImageDir + "Logo.jpg");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 3.");

// Creiamo un oggetto "ImageSaveOptions" che possiamo passare al metodo "Save" del documento
// per modificare il modo in cui quel metodo trasforma il documento in un'immagine.
ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Jpeg);
// Imposta "PageSet" su "1" per selezionare la seconda pagina tramite
// l'indice a partire da zero da cui iniziare il rendering del documento.
options.PageSet = new PageSet(1);

// Quando salviamo il documento nel formato JPEG, Aspose.Words esegue il rendering di una sola pagina.
// Questa immagine conterrà una pagina a partire da pagina due,
// che sarà semplicemente la seconda pagina del documento originale.
doc.Save(ArtifactsDir + "ImageSaveOptions.OnePage.jpg", options);

Mostra come configurare la compressione durante il salvataggio di un documento in formato JPEG.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertImage(ImageDir + "Logo.jpg");

// Creiamo un oggetto "ImageSaveOptions" che possiamo passare al metodo "Save" del documento
// per modificare il modo in cui quel metodo trasforma il documento in un'immagine.
ImageSaveOptions imageOptions = new ImageSaveOptions(SaveFormat.Jpeg);
// Impostare la proprietà "JpegQuality" su "10" per utilizzare una compressione più forte durante il rendering del documento.
// Ciò ridurrà le dimensioni del file del documento, ma l'immagine presenterà artefatti di compressione più evidenti.
imageOptions.JpegQuality = 10;
doc.Save(ArtifactsDir + "ImageSaveOptions.JpegQuality.HighCompression.jpg", imageOptions);

// Impostare la proprietà "JpegQuality" su "100" per utilizzare una compressione più debole durante il rendering del documento.
// Ciò migliorerà la qualità dell'immagine a scapito delle dimensioni del file.
imageOptions.JpegQuality = 100;
doc.Save(ArtifactsDir + "ImageSaveOptions.JpegQuality.HighQuality.jpg", imageOptions);

Mostra come convertire un intero documento in PDF con tre livelli nella struttura del documento.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Inserire le intestazioni dei livelli da 1 a 5.
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;

Assert.True(builder.ParagraphFormat.IsHeading);

builder.Writeln("Heading 1");

builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;

builder.Writeln("Heading 1.1");
builder.Writeln("Heading 1.2");

builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading3;

builder.Writeln("Heading 1.2.1");
builder.Writeln("Heading 1.2.2");

builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading4;

builder.Writeln("Heading 1.2.2.1");
builder.Writeln("Heading 1.2.2.2");

builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading5;

builder.Writeln("Heading 1.2.2.2.1");
builder.Writeln("Heading 1.2.2.2.2");

// Creiamo un oggetto "PdfSaveOptions" che possiamo passare al metodo "Save" del documento
// per modificare il modo in cui quel metodo converte il documento in .PDF.
PdfSaveOptions options = new PdfSaveOptions();

// Il documento PDF di output conterrà una struttura, ovvero un indice che elenca le intestazioni nel corpo del documento.
// Cliccando su una voce in questo schema verremo indirizzati alla posizione della rispettiva intestazione.
// Impostare la proprietà "HeadingsOutlineLevels" su "4" per escludere dalla struttura tutte le intestazioni i cui livelli sono superiori a 4.
options.OutlineOptions.HeadingsOutlineLevels = 4;

// Se una voce di struttura ha voci successive di livello superiore tra sé stessa e la voce successiva dello stesso livello o di livello inferiore,
// apparirà una freccia a sinistra della voce. Questa voce è la "proprietaria" di diverse "sotto-voci" di questo tipo.
// Nel nostro documento, le voci di struttura del 5° livello di intestazione sono sottovoci della seconda voce di struttura del 4° livello,
// le voci di 4° e 5° livello di intestazione sono sottovoci della seconda voce di 3° livello, e così via.
// Nella struttura, possiamo cliccare sulla freccia della voce "proprietario" per comprimere/espandere tutte le sue sotto-voci.
// Imposta la proprietà "ExpandedOutlineLevels" su "2" per espandere automaticamente tutte le voci di struttura di livello 2 e inferiore dell'intestazione
// e comprimere tutte le voci di livello 3 e superiori quando apriamo il documento.
options.OutlineOptions.ExpandedOutlineLevels = 2;

doc.Save(ArtifactsDir + "PdfSaveOptions.ExpandedOutlineLevels.pdf", options);

Guarda anche


Save(Stream, SaveFormat)

Salva il documento in un flusso utilizzando il formato specificato.

public SaveOutputParameters Save(Stream stream, SaveFormat saveFormat)
ParametroTipoDescrizione
streamStreamFlusso in cui salvare il documento.
saveFormatSaveFormatFormato in cui salvare il documento.

Valore di ritorno

Informazioni aggiuntive che puoi utilizzare facoltativamente.

Esempi

Mostra come salvare un documento in un flusso.

Document doc = new Document(MyDir + "Document.docx");

using (MemoryStream dstStream = new MemoryStream())
{
    doc.Save(dstStream, SaveFormat.Docx);

    // Verifica che il flusso contenga il documento.
    Assert.AreEqual("Hello World!\r\rHello Word!\r\r\rHello World!", new Document(dstStream).GetText().Trim());
}

Mostra come salvare un documento in un’immagine tramite un flusso e quindi leggere l’immagine da tale flusso.

Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);

            builder.Font.Name = "Times New Roman";
            builder.Font.Size = 24;
            builder.Writeln("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");

            builder.InsertImage(ImageDir + "Logo.jpg");

#if NET461_OR_GREATER || JAVA
            using (MemoryStream stream = new MemoryStream())
            {
                doc.Save(stream, SaveFormat.Bmp);

                stream.Position = 0;

                // Rilegge il flusso in un'immagine.
                using (Image image = Image.FromStream(stream))
                {
                    Assert.AreEqual(ImageFormat.Bmp, image.RawFormat);
                    Assert.AreEqual(816, image.Width);
                    Assert.AreEqual(1056, image.Height);
                }
            }
#elif NET5_0_OR_GREATER
            using (MemoryStream stream = new MemoryStream())
            {
                doc.Save(stream, SaveFormat.Bmp);

                stream.Position = 0;

                SKCodec codec = SKCodec.Create(stream);
                Assert.AreEqual(SKEncodedImageFormat.Bmp, codec.EncodedFormat);

                stream.Position = 0;

                using (SKBitmap image = SKBitmap.Decode(stream))
                {
                    Assert.AreEqual(816, image.Width);
                    Assert.AreEqual(1056, image.Height);
                }
            }
#endif

Guarda anche


Save(Stream, SaveOptions)

Salva il documento in un flusso utilizzando le opzioni di salvataggio specificate.

public SaveOutputParameters Save(Stream stream, SaveOptions saveOptions)
ParametroTipoDescrizione
streamStreamFlusso in cui salvare il documento.
saveOptionsSaveOptionsSpecifica le opzioni che controllano la modalità di salvataggio del documento. Può esserenull . Se questo ènull, il documento verrà salvato nel formato binario DOC.

Valore di ritorno

Informazioni aggiuntive che puoi utilizzare facoltativamente.

Esempi

Mostra come convertire solo alcune pagine di un documento in PDF.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Writeln("Page 1.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 2.");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page 3.");

using (Stream stream = File.Create(ArtifactsDir + "PdfSaveOptions.OnePage.pdf"))
{
    // Creiamo un oggetto "PdfSaveOptions" che possiamo passare al metodo "Save" del documento
    // per modificare il modo in cui quel metodo converte il documento in .PDF.
    PdfSaveOptions options = new PdfSaveOptions();

    // Impostare "PageIndex" su "1" per eseguire il rendering di una parte del documento a partire dalla seconda pagina.
    options.PageSet = new PageSet(1);

    // Questo documento conterrà una pagina a partire da pagina due, che conterrà solo la seconda pagina.
    doc.Save(stream, options);
}

Guarda anche


Save(HttpResponse, string, ContentDispositionSaveOptions)

Invia il documento al browser client.

public SaveOutputParameters Save(HttpResponse response, string fileName, 
    ContentDisposition contentDisposition, SaveOptions saveOptions)
ParametroTipoDescrizione
responseHttpResponseOggetto di risposta in cui salvare il documento.
fileNameStringNome del documento che verrà visualizzato nel browser client. Il nome non deve contenere il percorso.
contentDispositionContentDispositionUNContentDisposition valore that specifica come il documento viene presentato nel browser client.
saveOptionsSaveOptionsSpecifica le opzioni che controllano la modalità di salvataggio del documento. Può esserenull.

Valore di ritorno

Informazioni aggiuntive che puoi utilizzare facoltativamente.

Osservazioni

Internamente, questo metodo salva prima in un flusso di memoria e poi copia nel flusso di risposta stream perché il flusso di risposta non supporta la ricerca.

Esempi

Mostra come eseguire una stampa unione e quindi salvare il documento nel browser client.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.InsertField(" MERGEFIELD FullName ");
builder.InsertParagraph();
builder.InsertField(" MERGEFIELD Company ");
builder.InsertParagraph();
builder.InsertField(" MERGEFIELD Address ");
builder.InsertParagraph();
builder.InsertField(" MERGEFIELD City ");

doc.MailMerge.Execute(new string[] { "FullName", "Company", "Address", "City" },
    new object[] { "James Bond", "MI5 Headquarters", "Milbank", "London" });

// Invia il documento al browser client.
//Generato perché HttpResponse è null nel test.
Assert.Throws<ArgumentNullException>(() => doc.Save(response, "Artifacts/MailMerge.ExecuteArray.docx", ContentDisposition.Inline, null));

// Dovremo chiudere manualmente questa risposta per assicurarci di non aggiungere contenuti superflui al documento dopo il salvataggio.
Assert.Throws<NullReferenceException>(() => response.End());

Guarda anche