Как преобразовать DOCX в PDF в памяти на C# и .NET
Полный код
using System;
using System.IO;
using System.Collections;
namespace Sample
{
class Test
{
static void Main(string[] args)
{
// Before starting, we recommend to get a free 100-day key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.PdfMetamorphosis.SetLicense("...");
SautinSoft.PdfMetamorphosis p = new SautinSoft.PdfMetamorphosis();
if (p != null)
{
string docxPath = @"..\..\..\example.docx";
string pdfPath = Path.ChangeExtension(docxPath, ".pdf");
byte[] docx = File.ReadAllBytes(docxPath);
// 2. Convert DOCX to PDF in memory
byte[] pdf = p.DocxToPdfConvertByte(docx);
if (pdf != null)
{
// 3. Save the PDF document to a file for a viewing purpose.
File.WriteAllBytes(pdfPath, pdf);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(pdfPath) { UseShellExecute = true });
}
else
{
System.Console.WriteLine("Conversion failed!");
Console.ReadLine();
}
}
}
}
}
Imports System
Imports System.IO
Namespace Sample
Friend Class Test
Shared Sub Main(ByVal args() As String)
' Before starting, we recommend to get a free 100-day key:
' https://sautinsoft.com/start-for-free/
' Apply the key here:
' SautinSoft.PdfMetamorphosis.SetLicense("...");
Dim p As New SautinSoft.PdfMetamorphosis()
If p IsNot Nothing Then
Dim docxPath As String = "..\..\..\example.docx"
Dim pdfPath As String = Path.ChangeExtension(docxPath, ".pdf")
Dim docx() As Byte = File.ReadAllBytes(docxPath)
' 2. Convert DOCX to PDF in memory
Dim pdf() As Byte = p.DocxToPdfConvertByte(docx)
If pdf IsNot Nothing Then
' 3. Save the PDF document to a file for a viewing purpose.
File.WriteAllBytes(pdfPath, pdf)
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(pdfPath) With {.UseShellExecute = True})
Else
System.Console.WriteLine("Conversion failed!")
Console.ReadLine()
End If
End If
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: