Hi....Most of the times in C/C++ programming, we deal with binary or text files only. Binary file stores any kind of data in binary format, where text file stores a sequence of lines of electronic text.
In this post, i am going to show you how to create PDF files, through C/C++ programming. PDF files are more suitable, to present content to the user than binary/text files. More over PDF files provides, more accessibility features for disabled people.
Now lets write a C/C++ program, to create PDF file and write some text in that file. For this purpose i am using Cairo graphics library.
NOTE: Before running the following program, plz make sure that you have already installed cairo library and xdg-utils. (sudo apt-get install libcairo2-dev xdg-utils)
// Fine Name: CreatePDF.c
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <cairo/cairo.h>
#include <cairo/cairo-pdf.h>
void main()
{
// Creating a cairo PDF Surface
cairo_surface_t *csurface = cairo_pdf_surface_create("/home/reniguntla/Reni.pdf", 500, 400);
// Creating a cairo context
cairo_t *ctx = cairo_create(csurface);
// Creating rectangle in PDF
cairo_rectangle(ctx, 0.0, 0.0, 400, 300);
// Changing rectangle bacground color to Blue
cairo_set_source_rgb(ctx, 0.0, 0.0, 0.5);
cairo_fill(ctx);
// Moving to (10, 10) position in PDF
cairo_move_to(ctx, 10.0, 10.0);
// Changing text color to Yellow
cairo_set_source_rgb(ctx, 1.0, 1.0, 0.0);
// Writing some text to PDF
cairo_show_text(ctx, "I am Reniguntla Sambaiah :-)");
cairo_show_page(ctx);
// Destroying cairo context
cairo_destroy(ctx);
cairo_surface_flush(csurface);
// Destroying PDF surface
cairo_surface_destroy(csurface);
// Opening PDF File
if (!fork()) {
execlp("xdg-open", "xdg-open", "/home/reniguntla/Reni.pdf", NULL);
exit(0);
}
}
To Run: gcc -lcairo CreatePDF.c
./a.out
Out Put: In the output you can see a PDF as follows..
thanks! you help me so much
ReplyDelete