Converter vários formatos de arquivo para PDF
Converter EPUB para PDF
Aspose.PDF para Java permite que você converta arquivos EPUB para o formato PDF de maneira simples.
EPUB (abreviação de publicação eletrônica) é um padrão de e-book livre e aberto do Fórum Internacional de Publicação Digital (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.
Para converter arquivos EPUB para o formato PDF, o Aspose.PDF para Java possui uma classe chamada EpubLoadOptions que é usada para carregar o arquivo EPUB de origem. Após isso, o objeto é passado como um argumento para a inicialização do objeto Document, pois isso ajuda o mecanismo de renderização do PDF a determinar o formato de entrada do documento de origem.
O snippet de código a seguir mostra o processo de conversão de um arquivo EPUB para o formato PDF.
- Crie um
LoadOptions
EPUB. - Inicialize o objeto
Document
. - Salve o documento PDF de saída.
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertEPUBtoPDF {
private ConvertEPUBtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// Crie um LoadOptions EPUB
EpubLoadOptions options = new EpubLoadOptions();
// Inicialize o objeto document
String epubFileName = Paths.get(_dataDir.toString(), "aliceDynamic.epub").toString();
Document document = new Document(epubFileName, options);
// Salve o documento PDF de saída
document.save(Paths.get(_dataDir.toString(),"EPUBtoPDF.pdf").toString());
}
}
Tente converter EPUB para PDF online
Aspose.PDF para Java apresenta a você o aplicativo online gratuito “EPUB para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Converter Markdown para PDF
Este recurso é suportado pela versão 19.6 ou superior.
Tente converter Markdown para PDF online
Aspose.PDF para Java apresenta a você o aplicativo online gratuito “Markdown para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que ele funciona.
Markdown é uma ferramenta de conversão de texto para HTML para autores da web. Markdown permite que você escreva em um formato de texto simples fácil de ler e escrever e depois converta-o em XHTML estruturalmente válido (ou HTML).
O trecho de código a seguir mostra como usar essa funcionalidade com Aspose.PDF para Java:
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertMDtoPDF {
private ConvertMDtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// Instanciar objeto de opção de carga do Latex
MdLoadOptions options = new MdLoadOptions();
// Criar objeto de Documento
String markdownFileName = Paths.get(_dataDir.toString(), "samplefile.md").toString();
Document document = new Document(markdownFileName, options);
// Salvar documento PDF de saída
document.save(Paths.get(_dataDir.toString(),"MarkdownToPDF.pdf").toString());
}
}
Converter PCL para PDF
PCL (Printer Command Language) é uma linguagem de impressora da Hewlett-Packard desenvolvida para acessar recursos padrão de impressoras. Os níveis PCL de 1 a 5e/5c são linguagens baseadas em comandos que usam sequências de controle processadas e interpretadas na ordem em que são recebidas. Em nível de consumidor, fluxos de dados PCL são gerados por um driver de impressão. A saída PCL também pode ser facilmente gerada por aplicações personalizadas.
Tente converter PCL para PDF online
Aspose.PDF para Java apresenta a você um aplicativo online gratuito “PCL para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Atualmente, apenas PCL5 e versões mais antigas são suportadas.
|Conjuntos de Comandos|Suporte|Exceções|Descrição|
| :- | :- | :- | :- | |Comandos de controle de trabalho|+|Modo de impressão duplex|Controlar o processo de impressão: número de cópias, bandeja de saída, impressão simplex/duplex, deslocamentos à esquerda e no topo, etc.| |Comandos de controle de página|+|Comando de Pular Perforação|Especificar um tamanho de página, margens, orientação da página, distâncias entre linhas, entre caracteres, etc.| |Comandos de Posicionamento do Cursor|+| |Especificar a posição do cursor e, portanto, as origens do texto, imagens raster ou vetoriais e detalhes.|
|Comandos de seleção de fonte|+|
1. Comando de Impressão de Dados Transparente.
2. Fontes soft incorporadas. Na versão atual, em vez de criar fonte soft, nossa biblioteca seleciona a fonte adequada a partir das fontes TrueType “duras” existentes instaladas em uma máquina alvo.
A adequação é definida pela proporção largura/altura.
Este recurso funciona apenas para fontes Bitmap e TrueType e não garante que o texto impresso com a fonte soft será relevante para o do arquivo fonte.
Porque códigos de caracteres na fonte soft podem não corresponder aos padrões.
3. Conjuntos de Símbolos Definidos pelo Usuário.
|Permite carregar fontes soft (incorporadas) do arquivo PCL e gerenciá-las na memória.| |Comandos de gráficos rasterizados|+|Apenas preto e branco|Permite carregar imagens rasterizadas do arquivo PCL para a memória, especificar parâmetros rasterizadoscomo largura, altura, tipo de compressão, resolução, etc.| |Comandos de cor|+| |Permite colorir todos os objetos imprimíveis.| |Comandos do Modelo de Impressão|+| |Permite preencher texto, imagens rasterizadas e áreas retangulares com padrões rasterizados pré-definidos e definidos pelo usuário, especificar modo de transparência para padrões e imagem rasterizada de origem.
Padrões predefinidos são hachuras, hachuras cruzadas e sombreamento.| |Comandos de preenchimento de área retangular|+| |Permitem a criação e preenchimento de áreas retangulares com padrões.| |Comandos de Gráficos Vetoriais HP-GL/2|+|O Comando Vetorial com Tela (SV), Comando de Modo de Transparência (TR), Comando de Dados Transparentes (TD), RO (Rotacionar Sistema de Coordenadas), Comando de Fontes Escaláveis ou Bitmap (SB), Comando de Inclinação de Caracteres (SL) e Espaço Extra (ES) não são implementados e os comandos DV (Definir Caminho de Texto Variável) são realizados em versão beta.|
- Permitem carregar imagens vetoriais HP-GL/2 do arquivo PCL na memória. A imagem vetorial tem uma origem no canto inferior esquerdo da área imprimível, pode ser escalada, transladada, rotacionada e recortada.
- Uma imagem vetorial pode conter texto, como rótulos, e figuras geométricas como retângulo, círculo, elipse, linha, arco, curva de bezier e figuras complexas compostas pelas simples.
- Figuras fechadas, incluindo letras de rótulos, podem ser preenchidas com preenchimento sólido ou padrão vetorial.
- O padrão pode ser hachura, hachura cruzada, sombreamento, raster definido pelo usuário, hachura PCL ou hachura cruzada PCL e definido pelo usuário PCL. Os padrões PCL são raster. Rótulos podem ser individualmente rotacionados, escalados e direcionados em quatro direções: para cima, para baixo, para esquerda e para direita. As direções Esquerda e Direita envolvem arranjo de letras uma após a outra. As direções Cima e Baixo envolvem arranjo de letras uma sob a outra.
| |Macross|―| |Permite carregar uma sequência de comandos PCL na memória e usar essa sequência várias vezes, por exemplo, para imprimir cabeçalho de página ou definir uma formatação para um conjunto de páginas.| |Texto Unicode|―| |Permite a impressão de caracteres não ASCII. Não implementado devido à falta de arquivos de exemplo com texto Unicode| |PCL6 (PCL-XL)| |Realizado apenas na versão Beta devido à falta de arquivos de teste. Fontes incorporadas também não são suportadas. A extensão JetReady não é suportada porque é impossível ter a especificação JetReady.|Formato de arquivo binário.|Convertendo um arquivo PCL em formato PDF
Para permitir a conversão de PCL para PDF, Aspose.PDF for Java possui a classe PclLoadOptions que é usada para inicializar o objeto LoadOptions. Este objeto é então passado como 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 snippet de código a seguir mostra o processo de conversão de um arquivo PCL em formato PDF.
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertPCLtoPDF {
private ConvertPCLtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
ConvertPCLtoPDF_Simple();
ConvertPCLtoPDF_Advanced();
}
public static void ConvertPCLtoPDF_Simple() {
PclLoadOptions options = new PclLoadOptions();
Document pdfDocument= new Document(_dataDir + "demo.pcl", options);
pdfDocument.save(_dataDir + "epub_test.pdf");
}
public static void ConvertPCLtoPDF_Advanced() {
PclLoadOptions options = new PclLoadOptions();
options.SupressErrors=true;
Document pdfDocument= new Document(_dataDir + "demo.pcl", options);
if (options.Exceptions!=null)
for (Exception ex : options.Exceptions)
{
System.out.println(ex.getMessage());
}
pdfDocument.save(_dataDir + "pcl_test.pdf");
}
}
Problemas Conhecidos
-
A origem das cadeias de texto e imagens pode diferir ligeiramente das de um arquivo PCL de origem se a direção de impressão não for 0º. O mesmo se refere a imagens vetoriais se o sistema de coordenadas do gráfico vetorial for rotacionado (comando RO precedido).
-
A origem das etiquetas em imagens vetoriais pode diferir das de um arquivo PCL de origem se as etiquetas forem influenciadas por uma sequência de comandos: Origem da Etiqueta (LO), Definir Caminho de Texto Variável (DV), Direção Absoluta (DI) ou Direção Relativa (DR).
-
Um texto pode ser lido incorretamente se tiver que ser renderizado com fonte Bitmap ou TrueType soft (embutida), porque atualmente essas fontes são apenas parcialmente suportadas (veja exceções na “Tabela de características suportadas”). Nessa situação, o texto pode ser lido corretamente apenas se os códigos de caracteres em uma fonte soft corresponderem aos padrões. Um estilo do texto lido também pode diferir daquele no arquivo PCL de origem porque não é necessário definir estilo no cabeçalho da fonte soft.
-
Se o arquivo PCL analisado contiver fontes Intellifont ou Universal, uma exceção será lançada, porque as fontes Intellifont e Universal não são suportadas de forma alguma.
-
Se o arquivo PCL analisado contiver comandos de macros, o resultado da análise será muito diferente do arquivo de origem, porque os comandos de macros não são suportados.
Converter Texto para PDF
Aspose.PDF para Java fornece a capacidade de converter arquivos de texto para o formato PDF. Neste artigo, demonstramos como podemos converter de forma fácil e eficiente um arquivo de texto para PDF usando Aspose.PDF.
Quando você precisa converter um arquivo de texto para PDF, inicialmente leia o arquivo de texto de origem em algum leitor. Usamos StringBuilder para ler o conteúdo do arquivo de texto. Instancie o objeto Document e adicione uma nova página na coleção Pages. Crie um novo objeto de TextFragment e passe o objeto StringBuilder para seu construtor. Adicione um novo parágrafo na coleção Paragraphs usando o objeto TextFragment e salve o arquivo PDF resultante usando o método Save da classe Document. Tente converter TEXTO para PDF online
Aspose.PDF para Java apresenta a você a aplicação online gratuita “Texto para PDF”, onde você pode tentar investigar a funcionalidade e qualidade com que ela funciona.
Converter arquivo de texto simples para PDF
package com.aspose.pdf.examples;
/**
* Converter TXT para PDF
*/
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertTextToPDF {
private ConvertTextToPDF() {
}
final static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
final static Charset ENCODING = StandardCharsets.UTF_8;
public static void main(String[] args) throws IOException {
ConvertTXT_to_PDF_Simple();
}
public static void ConvertTXT_to_PDF_Simple() throws IOException {
// Inicializar objeto de documento
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "demo_txt.pdf").toString();
Path txtDocumentFileName = Paths.get(_dataDir.toString(), "rfc822.txt");
// Instanciar um objeto Document chamando seu construtor vazio
Document pdfDocument = new Document();
// Adicionar uma nova página na coleção Pages do Document
Page page = pdfDocument.getPages().add();
// Criar uma instância de TextFragment e passar o texto do objeto leitor para o seu
// construtor como argumento
TextFragment text = new TextFragment(Files.readString(txtDocumentFileName, ENCODING));
// Adicionar um novo parágrafo de texto na coleção de parágrafos e passar o objeto
// TextFragment
page.getParagraphs().add(text);
// Salvar arquivo PDF resultante
pdfDocument.save(pdfDocumentFileName);
}
Converter arquivo de texto pré-formatado para PDF
public static void ConvertPreFormattedTextToPdf() throws IOException {
Path txtDocumentFileName = Paths.get(_dataDir.toString(), "rfc822.txt");
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "demo_txt.pdf").toString();
// Ler o arquivo de texto como um array de string
java.util.List<String> lines = Files.readAllLines(txtDocumentFileName, ENCODING);
// Instanciar um objeto Document chamando seu construtor vazio
Document pdfDocument = new Document();
// Adicionar uma nova página na coleção Pages do Document
Page page = pdfDocument.getPages().add();
// Definir margens esquerda e direita para melhor apresentação
page.getPageInfo().getMargin().setLeft(20);
page.getPageInfo().getMargin().setRight(10);
page.getPageInfo().getDefaultTextState().setFont(FontRepository.findFont("Courier New"));
page.getPageInfo().getDefaultTextState().setFontSize(12);
for (String line : lines) {
// verificar se a linha contém o caractere "form feed"
// veja https://en.wikipedia.org/wiki/Page_break
if (line.startsWith("\f")) {
page = pdfDocument.getPages().add();
page.getPageInfo().getMargin().setLeft(20);
page.getPageInfo().getMargin().setRight(10);
page.getPageInfo().getDefaultTextState().setFont(FontRepository.findFont("Courier New"));
page.getPageInfo().getDefaultTextState().setFontSize(12);
} else {
// Criar uma instância de TextFragment e
// passar a linha para seu
// construtor como argumento
TextFragment text = new TextFragment(line);
// Adicionar um novo parágrafo de texto na coleção de parágrafos e passar o objeto TextFragment
page.getParagraphs().add(text);
}
pdfDocument.save(pdfDocumentFileName);
}
}
}
Converter XPS para PDF
Aspose.PDF para Java suporta a funcionalidade de conversão de arquivos XPS para o formato PDF. Consulte este artigo para resolver suas tarefas.
XPS, XML Paper Specification, é um formato de arquivo da Microsoft usado para integrar a criação e visualização de documentos no Windows. Com o Aspose.PDF para Java, é possível converter arquivos XPS para PDF, o formato de arquivo portátil da Adobe.
O formato de arquivo é basicamente um arquivo XML compactado, usado principalmente para distribuição e armazenamento. É muito difícil de editar e implementado principalmente pela Microsoft.
Para converter um arquivo XPS para PDF usando Aspose.PDF para Java, use a classe XpsLoadOptions. Este é usado para inicializar um objeto LoadOptions. Mais tarde, 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.
Tanto no XP quanto no Windows 7, você deve encontrar uma Impressora XPS pré-instalada se você procurar no Painel de Controle e depois em Impressoras. Para criar arquivos XPS, você pode usar essa impressora como o dispositivo de saída. No Windows 7, você deve ser capaz de simplesmente dar um duplo clique no arquivo para abri-lo em um visualizador XPS. Você também pode baixar o visualizador XPS do site da Microsoft.
O seguinte trecho de código mostra o processo de conversão do arquivo XPS para o formato PDF.
public final class ConvertXPStoPDF {
private ConvertXPStoPDF() {
}
final static Path _dataDir = Paths.get("/home/aspose/pdf-examples/Samples");
public static void main(String[] args) throws IOException {
Convert_XSLFO_to_PDF();
}
public static void Convert_XSLFO_to_PDF() throws IOException {
// Inicializar objeto de documento
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "demo_txt.pdf").toString();
String xpsDocumentFileName = Paths.get(_dataDir.toString(), "demo.xml").toString();
// Instanciar objeto LoadOption usando opção de carga XPS
LoadOptions options = new XpsLoadOptions();
// Instanciar um objeto Document chamando seu construtor vazio
Document pdfDocument = new Document(xpsDocumentFileName, options);
// Salvar arquivo PDF resultante
pdfDocument.save(pdfDocumentFileName);
}
}
Tente converter o formato XPS para PDF online
Aspose.PDF para Java apresenta a você o aplicativo online gratuito “XPS to PDF”, onde você pode experimentar a funcionalidade e qualidade de seu funcionamento.
Converter PostScript para PDF
Aspose.PDF para Java suporta recursos de conversão de arquivos PostScript para o formato PDF. Um dos recursos do Aspose.PDF é que você pode definir um conjunto de pastas de fontes a serem usadas durante a conversão.
Para converter um arquivo PostScript para o formato PDF, o Aspose.PDF para Java oferece a classe PsLoadOptions que é usada para inicializar o objeto LoadOptions. Posteriormente, este objeto pode ser passado como um argumento para o construtor do objeto Document, o que ajudará o Motor de Renderização de PDF a determinar o formato do documento de origem.
O seguinte trecho de código pode ser usado para converter um arquivo PostScript em formato PDF:
public static void ConvertPostScriptToPDF_Simple(){
// Inicializar objeto de documento
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "demo.pdf").toString();
String psDocumentFileName = Paths.get(_dataDir.toString(), "demo.ps").toString();
PsLoadOptions options = new PsLoadOptions();
// Criar objeto Documento
Document document = new Document(psDocumentFileName, options);
// Salvar documento PDF de saída
document.save(pdfDocumentFileName);
}
Além disso, você pode definir um conjunto de pastas de fontes que serão usadas durante a conversão:
public static void ConvertPostscriptToPDFAvdanced() {
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "demo.pdf").toString();
String psDocumentFileName = Paths.get(_dataDir.toString(), "demo.ps").toString();
PsLoadOptions options = new PsLoadOptions();
options.setFontsFolders(new String[] { "c:\tmp\fonts1", "c:\tmp\fonts2" });
// Criar objeto Documento
Document document = new Document(psDocumentFileName, options);
// Salvar documento PDF de saída
document.save(pdfDocumentFileName);
}
Converter XML para PDF
O formato XML é usado para armazenar dados estruturados. Existem várias maneiras de converter XML para PDF no Aspose.PDF.
Tente converter XML para PDF online
Aspose.PDF para Java apresenta a você o aplicativo online gratuito “XML para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade com que funciona.
Considere a opção de usar o documento XML baseado no padrão XSL-FO.
Converter XSL-FO para PDF
A conversão de arquivos XSL-FO para PDF pode ser implementada usando o objeto Document com XslFoLoadOptions.
package com.aspose.pdf.examples;
/**
* Converter XML para PDF
*/
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertXMLtoPDF {
private ConvertXMLtoPDF() {
}
final static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws IOException {
Convert_XSLFO_to_PDF();
Convert_XSLFO_to_PDF_Adv();
}
public static void Convert_XSLFO_to_PDF() throws IOException {
// Inicializar objeto documento
String pdfDocumentFileName = Paths.get(_dataDir.toString(), "demo_txt.pdf").toString();
String xmlDocumentFileName = Paths.get(_dataDir.toString(), "demo.xml").toString();
String xsltDocumentFileName = Paths.get(_dataDir.toString(), "employees.xslt").toString();
XslFoLoadOptions options = new XslFoLoadOptions(xsltDocumentFileName);
// Instanciar um objeto Document chamando seu construtor vazio
Document pdfDocument = new Document(xmlDocumentFileName, options);
// Salvar arquivo PDF resultante
pdfDocument.save(pdfDocumentFileName);
}
}
Converter XSL-FO para PDF com estratégia de tratamento de erros definida
// Inicializar objeto de documento
String documentFileName = Paths.get(DATA_DIR.toString(), "demo_txt.pdf").toString();
String xmlDocumentFileName = Paths.get(DATA_DIR.toString(), "demo.xml").toString();
String xsltDocumentFileName = Paths.get(DATA_DIR.toString(), "employees.xslt").toString();
XslFoLoadOptions options = new XslFoLoadOptions(xsltDocumentFileName);
// Definir estratégia de tratamento de erros
options.setParsingErrorsHandlingType(XslFoLoadOptions.ParsingErrorsHandlingTypes.ThrowExceptionImmediately);
// Instanciar um objeto Document chamando seu construtor vazio
Document document = new Document(xmlDocumentFileName, options);
// Salvar arquivo PDF resultante
document.save(documentFileName);
document.close();
Converter LaTeX/TeX para PDF
O formato de arquivo LaTeX é um formato de arquivo de texto com marcação na derivação LaTeX da família de linguagens TeX, e o LaTeX é um formato derivado do sistema TeX. LaTeX (ˈleɪtɛk/ lay-tek ou lah-tek) é um sistema de preparação de documentos e uma linguagem de marcação de documentos. É amplamente utilizado para a comunicação e publicação de documentos científicos em muitos campos, incluindo matemática, física e ciência da computação. Também tem um papel proeminente na preparação e publicação de livros e artigos que contêm materiais multilíngues complexos, como sânscrito e árabe, incluindo edições críticas. LaTeX usa o programa de composição tipográfica TeX para formatar sua saída e é escrito na própria linguagem de macro TeX.
Aspose.PDF for Java suporta o recurso de converter arquivos TeX para o formato PDF e, para realizar esse requisito, o pacote com.aspose.pdf possui uma classe chamada LatexLoadOptions que fornece as capacidades para carregar arquivos LaTex e renderizar a saída em formato PDF usando a classe Document. O trecho de código a seguir mostra o processo de conversão de um arquivo LaTex para o formato PDF.
package com.aspose.pdf.examples;
import java.io.FileNotFoundException;
import java.nio.file.Path;
import java.nio.file.Paths;
import com.aspose.pdf.*;
public final class ConvertLATEXtoPDF {
private ConvertLATEXtoPDF() {
}
private static Path _dataDir = Paths.get("/home/admin1/pdf-examples/Samples");
public static void main(String[] args) throws FileNotFoundException {
// Instanciar objeto de opção de carregamento Latex
TeXLoadOptions options = new TeXLoadOptions();
// Criar objeto Documento
String latexFileName = Paths.get(_dataDir.toString(), "samplefile.tex").toString();
Document document = new Document(latexFileName, options);
// Salvar documento PDF de saída
document.save(Paths.get(_dataDir.toString(),"TEXtoPDF.pdf").toString());
}
}
Tente converter LaTeX/TeX para PDF online
Aspose.PDF for Java apresenta a você o aplicativo online gratuito “LaTex para PDF”, onde você pode tentar investigar a funcionalidade e a qualidade do funcionamento.