Преобразование изображений в PDF в памяти на C# и .NET
Полный код
using System;
using System.IO;
using System.Collections.Generic;
using SautinSoft.PdfVision;
namespace Sample
{
class Program
{
static void Main(string[] args)
{
ConvertImagesToPdfInMemory();
}
public static void ConvertImagesToPdfInMemory()
{
// We'll use files here only to get input data and show the PDF result.
// The converting process will be done completely in memory.
string[] inpFiles = new string[]
{
@"..\..\..\testing\image-jpeg.jpg",
@"..\..\..\testing\image-png.png",
@"..\..\..\testing\image-tiff.tiff",
@"..\..\..\testing\multipage.tiff"
};
string outFile = new FileInfo(@"Result.pdf").FullName;
// Before starting, we recommend to get a free 100-day key:
// https://sautinsoft.com/start-for-free/
// Apply the key here:
// SautinSoft.PdfVision.SetLicense("...");
PdfVision v = new PdfVision();
ImageToPdfOptions options = new ImageToPdfOptions();
options.PageSetup.PaperType = PaperType.Letter;
List<byte[]> imageBytesCollection = new List<byte[]>();
foreach (string inpFile in inpFiles)
imageBytesCollection.Add(File.ReadAllBytes(inpFile));
try
{
byte[] pdfDocument = v.ConvertImageToPdf(imageBytesCollection, options);
File.WriteAllBytes(outFile, pdfDocument);
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
Console.ReadLine();
}
}
}
}
Imports System
Imports System.IO
Imports System.Collections.Generic
Imports SautinSoft.PdfVision
Namespace Sample
Friend Class Program
Shared Sub Main(ByVal args() As String)
ConvertImagesToPdfInMemory()
End Sub
Public Shared Sub ConvertImagesToPdfInMemory()
' We'll use files here only to get input data and show the PDF result.
' The converting process will be done completely in memory.
Dim inpFiles() As String = {
"..\..\..\testing\image-jpeg.jpg",
"..\..\..\testing\image-png.png",
"..\..\..\testing\image-tiff.tiff",
"..\..\..\testing\multipage.tiff"}
Dim outFile As String = (New FileInfo("Result.pdf")).FullName
' Before starting, we recommend to get a free 100-day key:
' https://sautinsoft.com/start-for-free/
' Apply the key here:
' SautinSoft.PdfVision.SetLicense("...");
Dim v As New PdfVision()
Dim options As New ImageToPdfOptions()
options.PageSetup.PaperType = PaperType.Letter
Dim imageBytesCollection As New List(Of Byte())()
For Each inpFile As String In inpFiles
imageBytesCollection.Add(File.ReadAllBytes(inpFile))
Next inpFile
Try
Dim pdfDocument() As Byte = v.ConvertImageToPdf(imageBytesCollection, options)
File.WriteAllBytes(outFile, pdfDocument)
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
Catch ex As Exception
Console.WriteLine($"Error: {ex.Message}")
Console.ReadLine()
End Try
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: