Converter vários formatos de imagens para PDF em .NET

Visão Geral

Este artigo explica como converter vários formatos de imagens para PDF usando C#. Ele abrange os seguintes tópicos.

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Formato: BMP

Formato: CGM

Formato: DICOM

Formato: EMF

Formato: GIF

Formato: JPG

Formato: PNG

Formato: SVG

Formato: TIFF

Outros tópicos abordados por este artigo

C# Conversões de Imagens para PDF

Aspose.PDF for .NET permite converter diferentes formatos de imagens em arquivos PDF. Nossa biblioteca demonstra trechos de código para converter os formatos de imagem mais populares, como - BMP, CGM, DICOM, EMF, JPG, PNG, SVG e formatos TIFF.

Converter BMP para PDF

Converta arquivos BMP para documento PDF usando a biblioteca Aspose.PDF for .NET.

BMP são arquivos com extensão .BMP que representam arquivos de imagem Bitmap usados para armazenar imagens digitais bitmap. Essas imagens são independentes do adaptador gráfico e também são chamadas de formato de arquivo bitmap independente de dispositivo (DIB). Você pode converter BMP para arquivos PDF com a API Aspose.PDF for .NET. Portanto, você pode seguir os seguintes passos para converter imagens BMP:

Passos: Converter BMP para PDF em C#

  1. Carregar imagem BMP de entrada.
  2. Finalmente, salvar o arquivo PDF de saída.

Então, o seguinte trecho de código segue esses passos e mostra como converter BMP para PDF usando C#:

//Inicializar documento PDF vazio
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // Carregar arquivo de imagem BMP de exemplo
    image.File = dataDir + "Sample.bmp";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // Salvar documento PDF de saída
    pdfDocument.Save(dataDir + "BMPtoPDF.pdf");
}

Converter CGM para PDF

CGM é uma extensão de arquivo para um formato de Metafile de Gráficos Computacionais comumente usado em aplicativos de CAD (desenho assistido por computador) e gráficos de apresentação. CGM é uma extensão de arquivo para um formato de Metafile de Gráficos Computacionais comumente usado em aplicativos de CAD (projeto auxiliado por computador) e gráficos de apresentação.

Confira o próximo trecho de código para converter arquivos CGM para o formato PDF.

Passos: Converter CGM para PDF em C#

  1. Crie uma instância da classe CgmLoadOptions.
  2. Crie uma instância da classe Document com o nome do arquivo fonte e opções mencionadas.
  3. Salve o documento com o nome de arquivo desejado.
public static void ConvertCGMtoPDF()
{
    CgmLoadOptions option = new CgmLoadOptions();
    Document pdfDocument= new Document(_dataDir+"corvette.cgm", option);
    pdfDocument.Save(_dataDir+"CGMtoPDF.pdf");
}

Converter DICOM para PDF

DICOM é o padrão da indústria médica para a criação, armazenamento, transmissão e visualização de imagens médicas digitais e documentos de pacientes examinados. O formato DICOM é o padrão da indústria médica para a criação, armazenamento, transmissão e visualização de imagens médicas digitais e documentos de pacientes examinados.

Aspsoe.PDF for .NET permite converter imagens DICOM e SVG, mas por razões técnicas para adicionar imagens você precisa especificar o tipo de arquivo a ser adicionado ao PDF:

Passos: Converter DICOM para PDF em C#

  1. Crie um objeto da classe Image.
  2. Adicione a imagem à coleção Paragraphs de uma página.
  3. Especifique a propriedade FileType.
  4. Especifique o caminho ou fonte do arquivo.
    • Se uma imagem está localizada em um disco rígido, especifique o local do caminho usando a propriedade Image.File.
    • Se uma imagem está colocada em um MemoryStream, passe o objeto que contém a imagem para a propriedade Image.ImageStream.

O seguinte trecho de código mostra como converter arquivos DICOM para o formato PDF com Aspose.PDF. O seguinte trecho de código mostra como converter arquivos DICOM para o formato PDF com Aspose.PDF.

private const string _dataDir = "..\\..\\..\\..\\Samples";
// Converter imagens DICOM para PDF usando a classe Image
public static void ConvertDICOMtoPDF()
{
    // Instanciar o Objeto Document
    Document pdfDocument = new Document();

    // Adicionar uma página à coleção de páginas do documento
    Page page = pdfDocument.Pages.Add();

    Image image = new Image
    {
        FileType = ImageFileType.Dicom,
        File = System.IO.Path.Combine(_dataDir,"bmode.dcm")
    };
    pdfDocument.Pages[1].Paragraphs.Add(image);
    // Salvar a saída como formato PDF
    pdfDocument.Save(System.IO.Path.Combine(_dataDir,"PDFWithDicomImage_out.pdf"));
}

Aspose.PDF Conversão de DICOM para PDF usando App Gratuito

Converter EMF para PDF

EMFEMF armazena imagens gráficas de forma independente do dispositivo. Metaarquivos EMF consistem em registros de comprimento variável em ordem cronológica que podem renderizar a imagem armazenada após análise em qualquer dispositivo de saída. Além disso, você pode converter uma imagem EMF para PDF usando as etapas abaixo:

Passos: Converter EMF para PDF em C#

  1. Primeiramente, inicialize o objeto da classe Document.
  2. Carregue o arquivo de imagem EMF.
  3. Adicione a imagem EMF carregada a uma Página.
  4. Salve o documento PDF.

Além disso, o seguinte trecho de código mostra como converter um EMF para PDF com C# no seu trecho de código .NET:

// Inicializa novo documento PDF
var doc = new Document();

// Especifique o caminho do arquivo de imagem EMF de entrada
var imageFile = dataDir + "drawing.emf";
var page = doc.Pages.Add();
string file = imageFile;
FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(filestream);
long numBytes = new FileInfo(file).Length;
byte[] bytearray = reader.ReadBytes((int)numBytes);
Stream stream = new MemoryStream(bytearray);
var b = new Bitmap(stream);

// Especifique as propriedades das dimensões da página
page.PageInfo.Margin.Bottom = 0;
page.PageInfo.Margin.Top = 0;
page.PageInfo.Margin.Left = 0;
page.PageInfo.Margin.Right = 0;
page.PageInfo.Width = b.Width;
page.PageInfo.Height = b.Height;
var image = new Aspose.Pdf.Image();
image.File = imageFile;
page.Paragraphs.Add(image);

// Salva o documento PDF de saída
doc.Save(dataDir + "EMFtoPDF.pdf");

Converter GIF para PDF

Converta arquivos GIF para documento PDF usando a biblioteca Aspose.PDF for .NET.

GIF é capaz de armazenar dados comprimidos sem perda de qualidade em um formato de no máximo 256 cores. O formato GIF independente de hardware foi desenvolvido em 1987 (GIF87a) pela CompuServe para a transmissão de imagens bitmap em redes. Você pode converter arquivos GIF para PDF com a API Aspose.PDF for .NET. Portanto, você pode seguir os seguintes passos para converter imagens GIF:

Passos: Converter GIF para PDF em C#

  1. Carregue a imagem GIF de entrada.
  2. Finalmente, salve o arquivo PDF de saída.

Portanto, o seguinte trecho de código segue esses passos e mostra como converter BMP para PDF usando C#:

//Inicializa documento PDF vazio
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // Carrega arquivo de imagem GIF de exemplo
    image.File = dataDir + "Sample.gif";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // Salva o documento PDF de saída
    pdfDocument.Save(dataDir + "GIFtoPDF.pdf");
}

Converter JPG para PDF

Não precisa se perguntar como converter JPG para PDF, porque a biblioteca Apose.PDF for .NET tem a melhor decisão. Não há necessidade de se perguntar como converter JPG para PDF, pois a biblioteca Apose.PDF for .NET tem a melhor solução.

Você pode converter imagens JPG para PDF com o Aspose.PDF for .NET seguindo os passos:

Passos: Converter JPG para PDF em C#

  1. Inicialize o objeto da classe Document.
  2. Adicione uma nova página ao documento PDF.
  3. Carregue a imagem JPG e adicione ao parágrafo.
  4. Salve o PDF de saída.

O trecho de código abaixo mostra como converter uma imagem JPG para PDF usando C#:

// Carrega o arquivo JPG de entrada
String path = dataDir + "Aspose.jpg";

// Inicializa novo documento PDF
Document doc = new Document();

// Adiciona página vazia no documento vazio
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Adiciona imagem na página
page.Paragraphs.Add(image);

// Salva o arquivo PDF de saída
doc.Save(dataDir + "ImagetoPDF.pdf");

Então, você pode ver como converter uma imagem para PDF com a mesma altura e largura da página. Então você pode ver como converter uma imagem para PDF com a mesma altura e largura da página.

  1. Carregar arquivo de imagem de entrada
  2. Obter a altura e largura da imagem
  3. Definir altura, largura e margens de uma página
  4. Salvar o arquivo PDF de saída

O seguinte trecho de código mostra como converter uma Imagem para PDF com a mesma altura e largura da página usando C#:

// Carregar arquivo de imagem JPG de entrada
String path = dataDir + "Aspose.jpg";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);

// Ler altura da imagem de entrada
int h = srcImage.Height;

// Ler largura da imagem de entrada
int w = srcImage.Width;

// Inicializar um novo documento PDF
Document doc = new Document();

// Adicionar uma página vazia
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Definir dimensões e margens da página
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// Salvar arquivo PDF de saída
doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");

Converter PNG para PDF

Aspose.PDF para .NET suporta a funcionalidade de converter imagens PNG para o formato PDF. Confira o próximo trecho de código para realizar sua tarefa.

PNG refere-se a um tipo de formato de arquivo de imagem raster que usa compressão sem perdas, o que o torna popular entre seus usuários.

Você pode converter imagens PNG para PDF usando os passos abaixo:

Passos: Converter PNG para PDF em C#

  1. Carregue a imagem PNG de entrada.
  2. Leia os valores de altura e largura.
  3. Definir dimensões da página.
  4. Salvar arquivo de saída.

Além disso, o trecho de código abaixo mostra como converter PNG para PDF com C# em suas aplicações .NET:

// Carregar arquivo PNG de entrada
String path = dataDir + "Aspose.png";
System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path);
int h = srcImage.Height;
int w = srcImage.Width;

// Inicializar novo Documento
Document doc = new Document();
Page page = doc.Pages.Add();
Aspose.Pdf.Image image = new Aspose.Pdf.Image();
image.File = (path);

// Definir dimensões da página
page.PageInfo.Height = (h);
page.PageInfo.Width = (w);
page.PageInfo.Margin.Bottom = (0);
page.PageInfo.Margin.Top = (0);
page.PageInfo.Margin.Right = (0);
page.PageInfo.Margin.Left = (0);
page.Paragraphs.Add(image);

// Salvar PDF de saída
doc.Save(dataDir + "ImagetoPDF.pdf");

Converter SVG para PDF

Aspose.PDF para .NET explica como converter imagens SVG para o formato PDF e como obter as dimensões do arquivo SVG fonte.

Gráficos Vetoriais Escaláveis (SVG) é uma família de especificações de um formato de arquivo baseado em XML para gráficos vetoriais bidimensionais, tanto estáticos quanto dinâmicos (interativos ou animados). A especificação SVG é um padrão aberto que está em desenvolvimento pelo World Wide Web Consortium (W3C) desde 1999.

Imagens SVG e seus comportamentos são definidos em arquivos de texto XML. Imagens SVG e seus comportamentos são definidos em arquivos de texto XML.

Para converter arquivos SVG para PDF, use a classe chamada SvgLoadOptions que é usada para inicializar o objeto LoadOptions. Posteriormente, esse objeto é passado como argumento durante a inicialização do objeto Documento e ajuda o motor de renderização de PDF a determinar o formato de entrada do documento fonte.

Passos: Converter SVG para PDF em C#

  1. Crie uma instância da classe Document com o nome do arquivo de origem e opções mencionadas.
  2. Salve o documento com o nome de arquivo desejado.

O seguinte trecho de código mostra o processo de conversão de um arquivo SVG em formato PDF com o Aspose.PDF para .NET.

public static void ConvertSVGtoPDF()
{
    SvgLoadOptions option = new SvgLoadOptions();
    Document pdfDocument = new Document(_dataDir + "car.svg", option);
    pdfDocument.Save(_dataDir + "svgtest.pdf");
}

Obter dimensões do SVG

Também é possível obter as dimensões do arquivo SVG de origem. Essa informação pode ser útil se quisermos que o SVG cubra toda a página do PDF de saída. A propriedade AdjustPageSize da classe ScgLoadOption cumpre esse requisito. O valor padrão desta propriedade é falso. Se o valor for definido como verdadeiro, o PDF de saída terá o mesmo tamanho (dimensões) que o SVG de origem.

O seguinte trecho de código mostra o processo de obter as dimensões do arquivo SVG de origem e gerar um arquivo PDF.

O seguinte trecho de código mostra o processo de obter as dimensões do arquivo SVG de origem e gerar um arquivo PDF.

public static void ConvertSVGtoPDF_Advanced()
{
    // Para exemplos completos e arquivos de dados, por favor, visite https://github.com/aspose-pdf/Aspose.PDF-for-.NET
    // O caminho para o diretório de documentos.
    string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    var loadopt = new SvgLoadOptions();
    loadopt.AdjustPageSize = true;
    var svgDoc = new Document(dataDir + "GetSVGDimensions.svg", loadopt);
    svgDoc.Pages[1].PageInfo.Margin.Top = 0;
    svgDoc.Pages[1].PageInfo.Margin.Left = 0;
    svgDoc.Pages[1].PageInfo.Margin.Bottom = 0;
    svgDoc.Pages[1].PageInfo.Margin.Right = 0;
    svgDoc.Save(dataDir + "GetSVGDimensions_out.pdf");
}

Recursos SVG Suportados

```
     </tr>
    <tr>
        <td>
            <p>tref</p>
        </td>
        <td>
            <p>&lt;defs&gt;&nbsp; <br> &nbsp;&nbsp;&nbsp; &lt;text
                id="ReferencedText"&gt;&nbsp; <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                Dados de caracteres referenciados&nbsp; <br> &nbsp;&nbsp;&nbsp;
                &lt;/text&gt;&nbsp; <br> &lt;/defs&gt;&nbsp; <br
                    class="atl-forced-newline"> &lt;text x="10" y="100" font-size="15" fill="red" &gt;&nbsp; <br
                    class="atl-forced-newline"> &nbsp;&nbsp;&nbsp; &lt;tref
                xlink:href="#ReferencedText"/&gt;&nbsp; <br> &lt;/text&gt;</p>
        </td>
    </tr>
    <tr>
        <td>
            <p>use</p>
        </td>
        <td>
            <p>&lt;defs&gt;&nbsp; <br> &nbsp;&nbsp;&nbsp; &lt;text id="Text" x="400"
                y="200"&nbsp; <br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-family="Verdana" font-size="100"

font-family=“Verdana” font-size=“100” text-anchor=“middle” >
Texto mascarado

```

             <line x1=“7” y1=“7” x2=“3” y2=“3”/> 
                <line x1="-7" y1=“7” x2="-3" y2=“3”/> 
                <line x1=“7” y1="-7" x2=“3” y2="-3"/> 
</g> 

```

Converter TIFF para PDF

Aspose.PDF suporta o formato de arquivo, seja uma única imagem ou uma imagem TIFF com múltiplos quadros. Isso significa que você pode converter a imagem TIFF para PDF em suas aplicações .NET.

TIFF ou TIF, Tagged Image File Format, representa imagens rasterizadas que são destinadas para uso em uma variedade de dispositivos que estão de acordo com esse padrão de formato de arquivo.

TIFF ou TIF, Formato de Arquivo de Imagem Marcada, representa imagens raster que são destinadas para uso em uma variedade de dispositivos que cumprem esse padrão de formato de arquivo.

Você pode converter TIFF para PDF da mesma maneira que os demais formatos de arquivo raster gráficos:

<a name="csharp-tiff-to-pdf" id="csharp-tiff-to-pdf"><strong>Passos: Converter TIFF para PDF em C#</strong></a>

1. Crie um novo objeto da classe [Document](https://reference.aspose.com/pdf/net/aspose.pdf/document) e adicione uma Página.
2. Carregue a imagem **TIFF** de entrada.
3. Salve o documento PDF.

```csharp
Inicialize o documento PDF vazio
using (Document pdfDocument = new Document())
{
    pdfDocument.Pages.Add();
    Aspose.Pdf.Image image = new Aspose.Pdf.Image();

    // Carregar arquivo de imagem Tiff de exemplo
    image.File = dataDir + "sample.tiff";
    pdfDocument.Pages[1].Paragraphs.Add(image);

    // Salvar o documento PDF de saída
    pdfDocument.Save(dataDir + "TIFFtoPDF.pdf");
}

Caso você precise converter uma imagem TIFF de várias páginas para um documento PDF de várias páginas e controlar alguns parâmetros, por exemplo, Caso precise converter uma imagem TIFF de múltiplas páginas em um documento PDF de múltiplas páginas e controlar alguns parâmetros, por exemplo:

  1. Instancie uma instância da classe Document
  2. Carregue a imagem TIFF de entrada
  3. Obtenha FrameDimension dos quadros
  4. Adicione uma nova página para cada quadro
  5. Finalmente, salve as imagens nas páginas do PDF

O seguinte trecho de código mostra como converter uma imagem TIFF de múltiplas páginas ou quadros em PDF com C#:

public static void TiffToPDF2()
{
    // Inicializa novo Documento
    Document pdf = new Document();

    // Carrega imagem TIFF em stream
    Bitmap bitmap = new Bitmap(File.OpenRead(_dataDir+"multipage.tif"));
    // Converte TIFF de múltiplas páginas ou quadros para PDF
    FrameDimension dimension = new FrameDimension(bitmap.FrameDimensionsList[0]);
    int frameCount = bitmap.GetFrameCount(dimension);

    // Itera por cada quadro
    for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
    {
        Page page = pdf.Pages.Add();

        bitmap.SelectActiveFrame(dimension, frameIdx);

        MemoryStream currentImage = new MemoryStream();
        bitmap.Save(currentImage, ImageFormat.Tiff);

        Aspose.Pdf.Image imageht = new Aspose.Pdf.Image
        {
            ImageStream = currentImage,
            // Aplica outras opções
            // ImageScale = 0.5
        };
        page.Paragraphs.Add(imageht);
    }

    // Salva o arquivo PDF de saída
    pdf.Save(_dataDir + "TifftoPDF.pdf");
}

Aplica-se a

Tag SVG

Exemplo de Uso

círculo

<circle id="r2" cx="10" cy="10" r="10" stroke="blue" stroke-width="2">

defs

<defs> 
<rect id="r1" width="15" height="15" stroke="blue" stroke-width="2" /> 
<circle id="r2" cx="10" cy="10" r="10" stroke="blue" stroke-width="2"/> 
<circle id="r3" cx="10" cy="10" r="10" stroke="blue" stroke-width="3"/> 
</defs> 
<use x="25" y="40" xlink:href="#r1" fill="red"/> 
<use x="35" y="15" xlink:href="#r2" fill="green"/> 
<use x="58" y="50" xlink:href="#r3" fill="blue"/>

elipse

g

imagem

<image id="ShadedRelief" x="24" y="4" width="64" height="82" xlink:href="relief.jpg" /> 

linha

<line style="stroke:#eea;stroke-width:8" x1="10" y1="30" x2="260" y2="100"/> 

```

linha

<line style="stroke:#eea;stroke-width:8" x1="10" y1="30" x2="260" y2="100"/> 

caminho

<path style="fill:#daa;fill-rule:evenodd;stroke:red" d="M 230,150 C 290,30 10,255 110,140 z "/> 

estilo

<path style="fill:#daa;fill-rule:evenodd;stroke:red" d="M 230,150 C 290,30 10,255 110,140 z "/>

polígono

<polygon style="stroke:#24a;stroke-width:1.5;fill:#eefefe" points="10,10 180,10 10,250 10,10" />

polilinha

```

polilinha

<polyline fill="none" stroke="dimgray" stroke-width="1" points="-3,-6 3,-6 3,1 5,1 0,7 -5,1 -3,1 -3,-5"/>

retângulo 

<rect x="0" y="0" width="400" height="600" stroke="none" fill="aliceblue" />

svg

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="10cm" height="5cm" >

texto

<text font-family="sans-serif" fill="dimgray" font-size="22px" font-weight="bold" x="58" y="30" pointer-events="none">Título do Mapa</text>

Plataforma Suportado Comentários
Windows .NET Framework 2.0-4.6
Windows .NET Core 2.0-3.1
.NET 5 Windows
Linux .NET Core 2.0-3.1
.NET 5 Linux

Veja Também

Este artigo também aborda os seguintes tópicos. Os códigos são os mesmos mencionados acima.

Formato: BMP

Formato: CGM

Formato: DICOM

Formato: EMF