Converter vários formatos de Imagens para PDF
Aspose.PDF para C++ permite converter diferentes formatos de imagens para arquivos PDF. Nossa biblioteca demonstra trechos de código para converter os formatos de imagem mais populares, como - formatos BMP, DICOM, EMF, JPG, PNG, SVG e TIFF.
Converter BMP para PDF
Converta arquivos BMP para documento PDF usando a biblioteca Aspose.PDF para C++.
Imagens BMP são arquivos com extensão. BMP representam arquivos de Imagem Bitmap que são 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 arquivos BMP para PDF com a API Aspose.PDF para C++. Portanto, você pode seguir os seguintes passos para converter imagens BMP:
- Crie uma Classe String para o nome do caminho e o nome do arquivo.
- Uma instância de um novo objeto Document é criada.
- Adicione uma nova Página a este Documento.
- Um novo Aspose.Pdf BMP é criado.
- O objeto Aspose.PDF BMP é inicializado usando o arquivo de entrada.
- Aspose.PDF BMP é adicionado à Página como um Parágrafo.
- Finalmente, salve o arquivo PDF de saída
Portanto, o trecho de código a seguir segue essas etapas e mostra como converter BMP para PDF usando C++:
void ConvertBMPtoPDF()
{
std::clog << "BMP to PDF convert: Start" << std::endl;
// String para o nome do caminho
String _dataDir("C:\\Samples\\Conversion\\");
// String para o nome do arquivo de entrada
String infilename("sample.bmp");
// String para o nome do arquivo de saída
String outfilename("ImageToPDF-BMP.pdf");
// Abrir documento
auto document = MakeObject<Document>();
// Adicionar página vazia no documento vazio
auto page = document->get_Pages()->Add();
auto image = MakeObject<Aspose::Pdf::Image>();
image->set_File(_dataDir + infilename);
// Adicionar imagem em uma página
page->get_Paragraphs()->Add(image);
// Salvar documento de saída
document->Save(_dataDir + outfilename);
std::clog << "BMP to PDF convert: Finish" << std::endl;
}
Tente converter BMP para PDF online
Aspose apresenta a você o aplicativo online gratuito “BMP para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
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.
Aspose.PDF para C++ 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:
- Crie uma Classe String para o nome do caminho e o nome do arquivo.
- Instantiate Document Objeto.
- Adicione uma Página à coleção de páginas do documento.
- Aspose.PDF TDicom é adicionado à Página como um Parágrafo.
- Carregue e Salve o arquivo de imagem de entrada.
O código a seguir mostra como converter arquivos DICOM para o formato PDF com Aspose.PDF. Você deve carregar a imagem DICOM, colocar a imagem em uma página em um arquivo PDF e salvar a saída como PDF.
void ConvertDICOMtoPDF()
{
std::clog << "DICOM para PDF conversão: Iniciar" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("CR_Anno.dcm");
String outfilename("PDFWithDicomImage_out.pdf");
// Instanciar Objeto Documento
auto document = MakeObject<Document>();
// Adicionar uma página à coleção de páginas do documento
auto page = document->get_Pages()->Add();
auto image = MakeObject<Aspose::Pdf::Image>();
image->set_File(_dataDir + infilename);
image->set_FileType(Aspose::Pdf::ImageFileType::Dicom);
page->get_Paragraphs()->Add(image);
// Salvar a saída como formato PDF
document->Save(_dataDir + outfilename);
std::clog << "DICOM para PDF conversão: Terminar" << std::endl;
}
Tente converter DICOM para PDF online
Aspose apresenta a você o aplicativo online gratuito “DICOM para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Converter EMF para PDF
EMFEMF armazena imagens gráficas de forma independente do dispositivo. Metarquivos EMF são compostos por registros de comprimento variável em ordem cronológica que podem renderizar a imagem armazenada após a análise em qualquer dispositivo de saída. Além disso, você pode converter EMF em uma imagem PDF usando as etapas abaixo:
- Crie uma Classe String para o nome do caminho e o nome do arquivo.
- Uma instância de um novo objeto Documento é criada.
- Adicione uma nova Página a este Documento.
- Um novo Aspose.Pdf TIFF é criado.
- O objeto Aspose.PDF TIFF é inicializado usando o arquivo de entrada.
- O Aspose.PDF TIFF é adicionado à Página como um Parágrafo.
- Carregar e Salvar o arquivo de imagem de entrada.
Além disso, o trecho de código a seguir mostra como converter um EMF para PDF com C++ no seu trecho de código:
void ConvertEMFtoPDF()
{
std::clog << "EMF to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.emf");
String outfilename("ImageToPDF_emf.pdf");
auto fileStream = System::IO::File::OpenRead(_dataDir + infilename);
auto myimage = MakeObject<System::Drawing::Bitmap>(fileStream);
auto document = MakeObject<Document>();
auto page = document->get_Pages()->Add();
auto currentImage = MakeObject<System::IO::MemoryStream>();
myimage->Save(currentImage, System::Drawing::Imaging::ImageFormat::get_Tiff());
auto imageht = MakeObject<Aspose::Pdf::Image>();
imageht->set_ImageStream(currentImage);
page->get_Paragraphs()->Add(imageht);
document->Save(_dataDir + outfilename);
std::clog << "EMF to PDF convert: Finish" << std::endl;
}
Tente converter EMF para PDF online
Aspose apresenta a você o aplicativo online gratuito “EMF para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter JPG para PDF
Não há necessidade de se perguntar como converter JPG para PDF, porque a biblioteca Aspose.PDF para C++ tem a melhor decisão.
Você pode converter facilmente imagens JPG para PDF com Aspose.PDF para C++ seguindo os passos:
- Crie uma Classe String para o nome do caminho e o nome do arquivo.
- Uma instância de um novo objeto Document é criada.
- Adicione uma nova Página a este Document.
- Uma nova Aspose::Pdf::Image é criada.
- O objeto Aspose.PDF Image é inicializado usando o arquivo de entrada.
- Aspose.PDF Imagem é adicionada à Página como um Parágrafo.
- Carregue e salve o arquivo de imagem de entrada.
O trecho de código abaixo mostra como converter uma imagem JPG para PDF usando C++:
void ConvertJPEGtoPDF()
{
std::clog << "JPEG to PDF convert: Start" << std::endl;
// String para nome do caminho
String _dataDir("C:\\Samples\\Conversion\\");
// String para nome do arquivo de entrada
String infilename("sample.jpg");
// String para nome do arquivo de saída
String outfilename("ImageToPDF-JPEG.pdf");
// Abrir documento
auto document = MakeObject<Document>();
// Adicionar página vazia em documento vazio
auto page = document->get_Pages()->Add();
auto image = MakeObject<Aspose::Pdf::Image>();
image->set_File(_dataDir + infilename);
// Adicionar imagem em uma página
page->get_Paragraphs()->Add(image);
// Salvar documento de saída
document->Save(_dataDir + outfilename);
std::clog << "JPEG to PDF convert: Finish" << std::endl;
}
Então você pode ver como converter uma imagem para PDF com a mesma altura e largura da página. Nós obteremos as dimensões da imagem e, conforme isso, definiremos as dimensões da página do documento PDF com as etapas abaixo:
- Carregar o arquivo de imagem de entrada
- Obter a altura e a largura da imagem
- Definir altura, largura e margens de uma página
- Salvar o arquivo PDF de saída
O trecho de código a seguir mostra como converter uma imagem em PDF com a mesma altura e largura de página usando C++:
void ConvertJPGtoPDF_fitsize()
{
std::clog << "JPEG to PDF convert: Start" << std::endl;
// String para o nome do caminho
String _dataDir("C:\\Samples\\Conversion\\");
// String para o nome do arquivo de entrada
String infilename("sample.jpg");
// String para o nome do arquivo de saída
String outfilename("ImageToPDF-JPG.pdf");
// Abrir documento
auto document = MakeObject<Document>();
// Adicionar página vazia no documento vazio
auto page = document->get_Pages()->Add();
auto fileStream = System::IO::File::OpenRead(_dataDir + infilename);
auto bitMap = MakeObject<System::Drawing::Bitmap>(fileStream);
auto image = MakeObject<Aspose::Pdf::Image>();
image->set_File(_dataDir + infilename);
// Adicionar imagem em uma página
page->get_Paragraphs()->Add(image);
// Definir dimensões e margens da página
page->get_PageInfo()->set_Height(bitMap->get_Height());
page->get_PageInfo()->set_Width(bitMap->get_Width());
page->get_PageInfo()->get_Margin()->set_Bottom(0);
page->get_PageInfo()->get_Margin()->set_Top(0);
page->get_PageInfo()->get_Margin()->set_Right(0);
page->get_PageInfo()->get_Margin()->set_Left(0);
page->get_Paragraphs()->Add(image);
// Salvar documento de saída
document->Save(_dataDir + outfilename);
std::clog << "JPEG to PDF convert: Finish" << std::endl;
}
Tente converter JPG para PDF online
A Aspose apresenta a você o aplicativo online gratuito “JPG para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter PNG para PDF
Aspose.PDF for C++ suporta o recurso 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 PNG para imagem PDF usando as etapas abaixo:
- Crie uma Classe String para nome do caminho e nome do arquivo.
- Uma instância de um novo objeto Documento é criada.
- Adicione uma nova Página a este Documento.
- Um novo Aspose.Pdf PNG é criado.
- O objeto Aspose.PDF PNG é inicializado usando o arquivo de entrada.
- Aspose.PDF PNG é adicionado à Página como um Parágrafo.
- Carregue e salve o arquivo de imagem de entrada.
Além disso, o trecho de código abaixo mostra como converter PNG para PDF em suas aplicações C++:
void ConvertPNGtoPDF()
{
std::clog << "PNG to PDF convert: Start" << std::endl;
// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
// String for input file name
String infilename("sample.png");
// String for input file name
String outfilename("ImageToPDF-PNG.pdf");
// Open document
auto document = MakeObject<Document>();
// Add empty page in empty document
auto page = document->get_Pages()->Add();
auto image = MakeObject<Aspose::Pdf::Image>();
image->set_File(_dataDir + infilename);
// Add image on a page
page->get_Paragraphs()->Add(image);
// Save output document
document->Save(_dataDir + outfilename);
std::clog << "PNG to PDF convert: Finish" << std::endl;
}
Tente converter PNG para PDF online
Aspose apresenta a você o aplicativo online gratuito “PNG to PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Converter SVG para PDF
Aspose.PDF para C++ explica como converter imagens SVG para o formato PDF e como obter as dimensões do arquivo SVG de origem.
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. Isso significa que eles podem ser pesquisados, indexados, scriptados e, se necessário, comprimidos. Como arquivos XML, imagens SVG podem ser criadas e editadas com qualquer editor de texto, mas é frequentemente mais conveniente criá-las com programas de desenho, como o Inkscape.
- Crie uma Classe String para o nome do caminho e o nome do arquivo.
- Crie uma instância da classe
SvgLoadOptions
. - Crie uma instância da classe Document com o nome do arquivo de origem mencionado e opções.
- Salve o documento com o nome de arquivo desejado.
O trecho de código a seguir mostra o processo de conversão de um arquivo SVG para o formato PDF com Aspose.PDF para C++.
void ConvertSVGtoPDF()
{
std::clog << "SVG to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.svg");
String outfilename("ImageToPDF-SVG.pdf");
auto options = MakeObject<SvgLoadOptions>();
try {
auto document = MakeObject<Document>(_dataDir + infilename, options);
document->Save(_dataDir + outfilename);
}
catch (System::Exception ex) {
std::cerr << ex->get_Message() << std::endl;
}
std::clog << "SVG to PDF convert: Finish" << std::endl;
}
Сonsiderar um exemplo com recursos avançados:
void ConvertSVGtoPDF_Advanced()
{
std::clog << "Conversão de SVG para PDF: Início" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("Sweden-Royal-flag-grand-coa.svg");
String outfilename("ImageToPDF-SVG.pdf");
auto options = MakeObject<SvgLoadOptions>();
options->set_AdjustPageSize(true);
options->ConversionEngine = SvgLoadOptions::ConversionEngines::NewEngine;
try {
auto document = MakeObject<Document>(_dataDir + infilename, options);
document->Save(_dataDir + outfilename);
}
catch (System::Exception ex) {
std::cerr << ex->get_Message() << std::endl;
}
std::clog << "Conversão de SVG para PDF: Final" << std::endl;
}
Tente converter o formato SVG para PDF online
Aspose.PDF para C++ apresenta a você o aplicativo online gratuito “SVG para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Converter TIFF para PDF
O formato de arquivo Aspose.PDF é suportado, seja uma imagem TIFF de um único quadro ou de vários quadros. Isso significa que você pode converter a imagem TIFF para PDF em suas aplicações C++.
TIFF ou TIF, Tagged Image File Format, representa imagens raster que são destinadas ao uso em uma variedade de dispositivos que cumprem com este padrão de formato de arquivo. A imagem TIFF pode conter vários quadros com imagens diferentes. O formato de arquivo Aspose.PDF também é suportado, seja uma imagem TIFF de um único quadro ou de vários quadros. Assim, você pode converter a imagem TIFF para PDF em suas aplicações C++. Portanto, consideraremos um exemplo de conversão de uma imagem TIFF de várias páginas para um documento PDF de várias páginas com os passos abaixo:
- Crie uma Classe String para nome do caminho e nome do arquivo.
- Um instance de um novo objeto Document é criado.
- Adicione uma nova Página a este Document.
- Um novo Aspose.Pdf TIFF é criado.
- O objeto Aspose.PDF TIFF é inicializado usando o arquivo de entrada.
- Aspose.PDF TIFF é adicionado à Página como um Parágrafo.
- Carregue e salve o arquivo de imagem de entrada.
Além disso, o trecho de código a seguir mostra como converter uma imagem TIFF de várias páginas ou quadros para PDF com C++:
void ConvertTIFFtoPDF()
{
std::clog << "TIFF to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.tiff");
String outfilename("ImageToPDF-TIFF.pdf");
auto fileStream = System::IO::File::OpenRead(_dataDir + infilename);
auto myimage = MakeObject<System::Drawing::Bitmap>(fileStream);
auto document = MakeObject<Document>();
auto page = document->get_Pages()->Add();
auto currentImage = MakeObject<System::IO::MemoryStream>();
myimage->Save(currentImage, System::Drawing::Imaging::ImageFormat::get_Tiff());
auto imageht = MakeObject<Aspose::Pdf::Image>();
imageht->set_ImageStream(currentImage);
page->get_Paragraphs()->Add(imageht);
document->Save(_dataDir + outfilename);
std::clog << "TIFF to PDF convert: Finish" << std::endl;
}