Descrição
Lib de conversão de PDFs para imagens, a conversão é feita com um script em python. Para entender é bem simples eu crio um método no node que instancia um processo filho em paralelo com o processo principal, nesse novo processo filho então é executado o script em python que converte os PDFs.
Uso nos SOs
- Linux
- Windows
Dependências
Linux SO
- poppler-utils : poppler-utils
Documentação dos Metodos
Promise<void>
Metodo: convertPDFToImage: (props) => - pdfPath: string => Caminho do arquivo PDF
- outPutFolder: string => Caminho da pasta de saída
- outPutName?: string => Nome da pasta de saída com as imagens
- dpi?: 100 | 150 | 200 | 250 | 300 => Densidade de pixels
- fmt?: "jpeg" | "png" | "ppm" | "tif" => Formato da imagem de saída
- timeout: number => Tempo de espera que o processo filho pode ficar em espera
- threadCount: 1 | 2 | 3 | 4 => Número de encadeamentos a serem usados ao converter o PDF. Limitado ao número real de páginas.
- size: object => { width: number, height: number } => Tamanho da imagem de saída
- jpegOptions?: object => { quality?: number; progressive?: boolean; optimize?: boolean; } => Opções de qualidade da imagem de saída somente se fmt = "jpeg"
- thumbnail?: object => { outPath: string; outPutName?: string; width?: number | boolean; height?: number | boolean; fmt?: "jpeg" | "png" | "ppm"; } => Opçoes de thumbnail
Exemplos
Convertendo PDF para imagem simples
import { convertPDFToImage } from 'pdf2image-py';
convertPDFToImage({
pdfPath: './path/to/file.pdf',
outPutFolder: './path/to/outPutFolder',
}).then(() => {
console.log('Convertido com sucesso');
}).catch((err) => {
console.log(err);
}
Converter pdfs e tambem gerar thumbnails
import { convertPDFToImage } from 'pdf2image-py';
convertPDFToImage({
pdfPath: './path/to/file.pdf',
outPutFolder: './path/to/outPutFolder',
outPutName: 'outPutName',
dpi: 300,
fmt: 'png',
timeout: 30000,
threadCount: 2,
size: { width: 100, height: 100 },
jpegOptions: { quality: 100, progressive: true, optimize: true },
thumbnail: {
outPath: './path/to/outPutFolder',
outPutName: 'outPutName',
width: 100,
height: 100,
fmt: 'png',
},
}).then(() => {
console.log('Convertido com sucesso');
}).catch((err) => {
console.log(err);
}
Aviso de Criaçao de issues
- Para criar uma issue informe o seguinte:
- OS
- Versão das dependencias
- Versão do node
- Versão do pdf2image-py
Testes
npm test