Converter EPUB para PDF
Aspose.PDF para C++ permite que você simplesmente converta arquivos EPUB para o formato PDF.
EPUB (abreviação de publicação eletrônica) é um padrão de e-book gratuito e aberto do International Digital Publishing Forum (IDPF). Os arquivos têm a extensão .epub. O EPUB é projetado para conteúdo refluível, o que significa que um leitor de EPUB pode otimizar o texto para um dispositivo de exibição específico.
O EPUB também suporta conteúdo de layout fixo. O formato é destinado como um único formato que editoras e casas de conversão podem usar internamente, assim como para distribuição e venda. Ele substitui o padrão Open eBook. A versão EPUB 3 também é endossada pelo Book Industry Study Group (BISG), uma importante associação comercial de livros para melhores práticas padronizadas, pesquisa, informação e eventos, para empacotamento de conteúdo.
Passos de conversão:
- Crie uma String Class para o nome do caminho e o nome do arquivo.
- Crie uma instância da classe EpubLoadOptions.
- Crie uma instância da classe Document com o nome do arquivo de origem mencionado e opções.
- Carregue e Salve o arquivo de entrada.
O próximo trecho de código mostra como converter arquivos EPUB para o formato PDF com C++.
void ConvertEPUBtoPDF()
{
std::clog << "EPUB to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("aliceDynamic.epub");
String outfilename("epub_test.pdf");
auto options = MakeObject<EpubLoadOptions>();
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 << "EPUB to PDF convert: End" << std::endl;
}
Tente converter EPUB para PDF online
Aspose.PDF para C++ apresenta a você um aplicativo online gratuito “EPUB para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter Texto para PDF
Aspose.PDF para C++ suporta o recurso de conversão de texto simples e arquivo de texto pré-formatado para o formato PDF.
Converter texto para PDF significa adicionar fragmentos de texto à página PDF. No caso de arquivos de texto, lidamos com 2 tipos de texto: pré-formatação (por exemplo, 25 linhas com 80 caracteres por linha) e texto não formatado (texto simples). Dependendo de nossas necessidades, podemos controlar essa adição nós mesmos ou confiar aos algoritmos da biblioteca.
Converter arquivo de texto simples para PDF
No caso do arquivo de texto simples, podemos usar a seguinte técnica:
- Crie uma Classe String para nome de caminho e nome de arquivo.
- Leia o arquivo de texto fonte usando TextReader
- Instancie o Objeto Document.
- Adicione uma Página à coleção de páginas do documento.
- Crie um novo objeto de TextFragment e passe o objeto TextReader para seu construtor.
- Adicione um novo parágrafo de texto na coleção de parágrafos e passe o objeto TextFragment.
- Carregue e Salve o arquivo de entrada.
void ConvertTextToPDF()
{
std::clog << "Texto para PDF: Início" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.txt");
String outfilename("TextToPDF.pdf");
// Leia o arquivo de texto fonte
String content = System::IO::File::ReadAllText(_dataDir + infilename);
// Instancie um objeto Document chamando seu construtor vazio
auto document = MakeObject<Document>();
// Adicione uma nova página na coleção Pages do Document
auto page = document->get_Pages()->Add();
// Crie uma instância de TextFragment e passe o texto do objeto reader para seu construtor como argumento
auto text = MakeObject<TextFragment>(content);
// Adicione um novo parágrafo de texto na coleção de parágrafos e passe o objeto TextFragment
auto paragraphs = page->get_Paragraphs();
paragraphs->Add(text);
// Salve o arquivo PDF resultante
document->Save(_dataDir + outfilename);
std::clog << "Texto para PDF: Fim" << std::endl;
}
Converter arquivo de texto pré-formatado para PDF
Converter texto pré-formatado é como texto simples, mas você precisa fazer algumas ações adicionais, como definir margens, tipo e tamanho da fonte. Obviamente, a fonte deve ser monoespaçada (por exemplo, Courier New).
Siga estas etapas para converter texto pré-formatado em PDF com C++:
- Instancie um objeto Document chamando seu construtor vazio.
- Defina margens esquerda e direita para melhor apresentação.
- Instancie o objeto Document e adicione uma nova página na coleção Pages.
- Carregue e Salve o arquivo de imagem de entrada.
void ConvertPreFormattedTextToPdf()
{
std::clog << "Texto pré-formatado para conversão de PDF: Início" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("rfc822.txt");
String outfilename("TextToPDF.pdf");
// Leia o arquivo de texto como array de string
auto lines = System::IO::File::ReadAllLines(_dataDir + infilename);
// Instancie um objeto Document chamando seu construtor vazio
auto document = MakeObject<Document>();
// Adicione uma nova página na coleção Pages do Document
auto page = document->get_Pages()->Add();
// Defina margens esquerda e direita para melhor apresentação
page->get_PageInfo()->get_Margin()->set_Left(20);
page->get_PageInfo()->get_Margin()->set_Right(10);
page->get_PageInfo()->get_DefaultTextState()->set_Font(FontRepository::FindFont(u"Courier New"));
page->get_PageInfo()->get_DefaultTextState()->set_FontSize(12);
for (int index = 0; index < lines->get_Length(); index++)
{
// verifique se a linha contém o caractere "form feed"
// veja https://en.wikipedia.org/wiki/Page_break
auto line = lines->idx_get(index);
if (line.StartsWith(u"\x0c"))
{
if (document->get_Pages()->get_Count() > 3) break;
page = document->get_Pages()->Add();
// Defina margens esquerda e direita para melhor apresentação
page->get_PageInfo()->get_Margin()->set_Left(20);
page->get_PageInfo()->get_Margin()->set_Right(10);
page->get_PageInfo()->get_DefaultTextState()->set_Font(FontRepository::FindFont(u"Courier New"));
page->get_PageInfo()->get_DefaultTextState()->set_FontSize(12);
}
else
{
// Crie uma instância de TextFragment e
// passe a linha para seu construtor como argumento
auto text = MakeObject<TextFragment>(line);
// Adicione um novo parágrafo de texto na coleção de parágrafos e passe o objeto TextFragment
page->get_Paragraphs()->Add(text);
}
}
// Salve o arquivo PDF resultante
document->Save(_dataDir + outfilename);
std::clog << "Texto pré-formatado para conversão de PDF: Fim" << std::endl;
}
Tente converter TEXTO para PDF online
Aspose.PDF para C++ apresenta a você o aplicativo online gratuito “Texto para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Converter XPS para PDF
Aspose.PDF para C++ suporta a funcionalidade de conversão de arquivos XPS para o formato PDF. Confira este artigo para resolver suas tarefas.
O tipo de arquivo XPS está principalmente associado à Especificação de Papel XML pela Microsoft Corporation. A Especificação de Papel XML (XPS), anteriormente codinome Metro e subsumindo o conceito de marketing Next Generation Print Path (NGPP), é a iniciativa da Microsoft para integrar a criação e visualização de documentos em seu sistema operacional Windows.
Para converter XPS para PDF com Aspose.PDF para C++, introduzimos uma classe chamada XpsLoadOption que é usada para inicializar um objeto LoadOptions. Posteriormente, este objeto é passado como um argumento durante a inicialização do objeto Document e ajuda o mecanismo de renderização de PDF a determinar o formato de entrada do documento de origem.
O trecho de código a seguir mostra o processo de conversão de um arquivo XPS para o formato PDF com C++.
void ConvertXPStoPDF()
{
std::clog << "XPS to PDF convert: Start" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilename("sample.oxps");
String outfilename("XPStoPDF.pdf");
auto options = MakeObject<XpsLoadOptions>();
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 << "XPS to PDF convert: Finish" << std::endl;
}
Tente converter o formato XPS para PDF online
Aspose.PDF para C++ apresenta a você o aplicativo online gratuito “XPS para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter XML para PDF
O formato XML é usado para armazenar dados estruturados. Existem várias maneiras de converter XML para PDF no Aspose.PDF.
Converter XSL-FO para PDF
- Crie uma Classe String para o nome do caminho e o nome do arquivo.
- Instancie o objeto XslFoLoadOption.
- Defina a estratégia de tratamento de erros.
- Instancie o Objeto Document.
- Salvar o arquivo de imagem de entrada.
void Convert_XSLFO_to_PDF()
{
std::clog << "XSL-FO para PDF converter: Iniciar" << std::endl;
String _dataDir("C:\\Samples\\Conversion\\");
String infilenameXSL("c:\\samples\\employees.xslt");
String infilenameXML("c:\\samples\\employees.xml");
String outfilename("XMLFOtoPDF.pdf");
// Instanciar objeto XslFoLoadOption
auto options = new XslFoLoadOptions(infilenameXSL);
// Configurar estratégia de tratamento de erros
options->ParsingErrorsHandlingType = XslFoLoadOptions::ParsingErrorsHandlingTypes::ThrowExceptionImmediately;
// Criar objeto Document
auto document = MakeObject<Document>(infilenameXML, options);
document->Save(_dataDir + outfilename);
}
Tente converter XML para PDF online
Aspose.PDF para C++ apresenta-lhe a aplicação gratuita online “XML para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.