Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cooler_

[Resolvido] [Tutorial] Converter TXT para PDF em C

Recommended Posts

Um salve para os leitores ,neste artigo resolvi estudar algo meio difícil de se achar em Blogs

ou sites que contem artigos,se trata da biblioteca “Cairo” muito famosa para os programadores em “python”

e “Perl” por tratar imagens e vetorizar.porem neste artigo vou usar “Linguagem C” ala K&R para fazer

tal feito em outras linguagens como perl,ruby e python seria bem mais fácil por isso nem vou explicar…

Imagem Postada

Antes de mais nada esta Dica só foi possível ser feita graças a ótima documentação do cairo

pois não encontrei nenhum material do mesmo em pt :( ,

cairo http://www.cairographics.org/

 

 

continuando fiz um programa que pega um array com palavras e escreva num PDF,para implementar funções apartir desta source é facil como abrir um TXT e escrever seu conteúdo num PDF ou mesmo

abrir um banco de dados e imprimir seu conteúdo nele etc…

 

Antes de mais nada verifique se você tem as bibliotecas para o feito

 

vamos a source ,já esta toda comentada basta ler para pegar o esquema

 

//Exemplo de como escrever em PDF usando "C ansi"
//Author: Antonio Cooler
//visite BOTECOUNIX.COM.BR
//para compilar faça "gcc -o example `pkg-config --cflags --libs gtk+-2.0` example.c"
//bibliotecas padrão do cairo para escrita num PDF
#include 'cairo/cairo.h'
#include 'cairo/cairo-pdf.h'
 
int main() {
//definindo variaveis
  float position;
  int i;
  char *banner[] = {
  "Programa simples escreve em pdf",
  "coded by Cooler",
  "isso é um teste",
  "de boa",
  "esta",
  "rolando nosso programa",
  "este é o",
  "fim dele ",
 };
//definindo ponteiros surface e cr
  cairo_surface_t *surface;
  cairo_t *cr;
//definindo nome do arquivo
  surface = cairo_pdf_surface_create("pdffile.pdf", 504, 648);
//defindo a função create do cairo
  cr = cairo_create(surface);
//definindo cor da fonte,aqui usado padrão RGB(red,green,blue) definimos o "blue" setamos para 255
  cairo_set_source_rgb(cr, 0, 0, 255);
//definindo tipo da fonte
  cairo_select_font_face (cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
//definindo tamanho da fonte
  cairo_set_font_size (cr, 20.0);
//definindo posição inicial da fonte
  position=50.0;
//Loop para ir escrevendo e pulando a linha para cada bloco do vetor
 for(i=0; i<=7; i++) {
  cairo_move_to(cr, 10.0, position);
  cairo_show_text(cr, banner[i]);
//variavel position sempre atribui o tamanho da fonte inicial no caso 20
//assim temos uma lógica simples fazendo pular a linha
  position+=20;
 }
  cairo_show_page(cr);
//destruindo ponteiros definidos
  cairo_surface_destroy(surface);
  cairo_destroy(cr);
 
  return 0;
}

agora vamos compilar,vou usar o “GCC” vide http://gcc.gnu.org/

 

gcc -Wall -o code code.c -l cairo

executamos nosso programa e abrimos o arquivo “pdffile.pdf” e pronto veja que foi tudo escrito

 

bem quem quiser um programa em C que converte TXT para PDF eu hostei no google code

do grupo que faço parte baixe aqui --> http://bugsec.googlecode.com/files/txt2pdf.c

 

a dica acaba por aqui a lib cairo é muito poderosa isso só foi uma dica de uso de uma

das milhares de funções desta maravilhosa lib.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.