// The file format will be detected automatically from the file extension: ".pdf".
dc.Save(@"d:\Book.pdf");
Чтобы не полагаться на расширение файла и гарантировать, что содержимое файла действительно PDF (Adobe Portable Format), Вы можете указать PdfSaveOptions в качестве второго параметра.
dc.Save(@"d:\Book.pdf", new PdfSaveOptions());
В PdfSaveOptions Вы также можете установить различные параметры, влияющие на процесс сохранения.
dc.Save(@"d:\Book.pdf", new PdfSaveOptions()
{
Compliance = PdfCompliance.PDF_A1a,
PreserveFormFields = true
});
// Let's save our document to a MemoryStream.
using (MemoryStream ms = new MemoryStream())
{
dc.Save(ms, new PdfSaveOptions()
{
PageIndex=0,
PageCount=1,
Compliance = PdfCompliance.PDF_A1a
});
}
Полный код
using System.IO;
using SautinSoft.Document;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Get your free 100-day key here:
// https://sautinsoft.com/start-for-free/
SaveToPdfFile();
SaveToPdfStream();
}
/// <summary>
/// Creates a new document and saves it as PDF file.
/// </summary>
/// <remarks>
/// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-pdf-net-csharp-vb.php
/// </remarks>
static void SaveToPdfFile()
{
// Assume we already have a document 'dc'.
DocumentCore dc = new DocumentCore();
dc.Content.End.Insert("Hey Guys and Girls!\nFrom file.", new CharacterFormat() { FontColor = Color.Green, Size = 20});
string filePath = @"Result-file.pdf";
dc.Save(filePath, new PdfSaveOptions()
{
Compliance = PdfCompliance.PDF_A1a,
PreserveFormFields = true
});
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePath) { UseShellExecute = true });
}
/// <summary>
/// Creates a new document and saves it as PDF/A using MemoryStream.
/// </summary>
/// <remarks>
/// Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-pdf-net-csharp-vb.php
/// </remarks>
static void SaveToPdfStream()
{
// There variables are necessary only for demonstration purposes.
byte[] fileData = null;
string filePath = @"Result-stream.pdf";
// Assume we already have a document 'dc'.
DocumentCore dc = new DocumentCore();
dc.Content.End.Insert("Hey Guys and Girls!\nFrom MemoryStream.", new CharacterFormat() { FontColor = Color.Orange, Size = 20 });
// Let's save our document to a MemoryStream.
using (MemoryStream ms = new MemoryStream())
{
dc.Save(ms, new PdfSaveOptions()
{
PageIndex = 0,
PageCount = 1,
Compliance = PdfCompliance.PDF_A1a
});
fileData = ms.ToArray();
}
File.WriteAllBytes(filePath, fileData);
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(filePath) { UseShellExecute = true });
}
}
}
Imports System
Imports System.IO
Imports SautinSoft.Document
Module Sample
Sub Main()
SaveToPdfFile()
SaveToPdfStream()
End Sub
''' Get your free 100-day key here:
''' https://sautinsoft.com/start-for-free/
''' <summary>
''' Creates a new document and saves it as PDF file.
''' </summary>
''' <remarks>
''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-pdf-net-csharp-vb.php
''' </remarks>
Sub SaveToPdfFile()
' Assume we already have a document 'dc'.
Dim dc As New DocumentCore()
dc.Content.End.Insert("Hey Guys and Girls!" & vbLf & "From file.", New CharacterFormat() With {
.FontColor = Color.Green,
.Size = 20
})
Dim filePath As String = "Result-file.pdf"
dc.Save(filePath, New PdfSaveOptions() With {
.Compliance = PdfCompliance.PDF_A1a,
.PreserveFormFields = True
})
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(filePath) With {.UseShellExecute = True})
End Sub
''' <summary>
''' Creates a new document and saves it as PDF/A using MemoryStream.
''' </summary>
''' <remarks>
''' Details: https://www.sautinsoft.com/products/document/help/net/developer-guide/save-document-as-pdf-net-csharp-vb.php
''' </remarks>
Sub SaveToPdfStream()
' There variables are necessary only for demonstration purposes.
Dim fileData() As Byte = Nothing
Dim filePath As String = "Result-stream.pdf"
' Assume we already have a document 'dc'.
Dim dc As New DocumentCore()
dc.Content.End.Insert("Hey Guys and Girls!" & vbLf & "From MemoryStream.", New CharacterFormat() With {
.FontColor = Color.Orange,
.Size = 20
})
' Let's save our document to a MemoryStream.
Using ms As New MemoryStream()
dc.Save(ms, New PdfSaveOptions() With {
.PageIndex = 0,
.PageCount = 1,
.Compliance = PdfCompliance.PDF_A1a
})
fileData = ms.ToArray()
End Using
File.WriteAllBytes(filePath, fileData)
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(filePath) With {.UseShellExecute = True})
End Sub
End Module
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: