Documente Academic
Documente Profesional
Documente Cultură
Biblioteca
PDF gratis
Versin 1.2.0
Haru
Contenido
Captulo 1: introduccin
1.1 Qu es Haru
1.2 las caractersticas de HARU.
1.3 requisitos
1.4 las bibliotecas requeridas
Captulo 2: instalacin
2.1 crear biblioteca
2.2 Instalacin de los archivos de la biblioteca
2.3 compilar y ejecutar los programas de ejemplo
Captulo 3: Hacer un programa con el uso de Haru
3.1 el flujo de la creacin de archivos PDF.
3.2 estado de los grficos
3.3 usando Base 14 fuentes
Captulo 4: La lista de Base 14 Font
4.1 Type1 Font incrustar caracterstica.
4.2 la compresin usando Multibyte
fuentes 4.3 usando Flatedecode.
4.4 PNG Image.
4.5 imagen JPEG de.
3
4.6 cifrado.
Captulo 5: Clase referencia
5.1 objetos de base de.
5.2 documento objetos.
5.3 font objetos.
Captulo 6: Resumen de operador de clase PdfContentns.
6.1 estado de los grficos general
6.2 estado de los grficos especiales
6.3 construccin de camino
6.4 pintura ruta
6.5 trazados de recorte de
6.6 objeto de texto
6.7 estado texto
6.8 texto posicionamiento
6.9 Mostrar texto
6.10 mostrando color
6.11 XObjects
Captulo 7: Permiso de Copyright
Captulo 8: Bibliografa
8.1 PDF recursos.
4
8.2 Programacin recursos
8.3 Type1 Font recursos
8.4 aviso de copyright de
5
1
Introduccin
CAPTULO 1
Introduccin
1.1 Qu es Haru
Haru es una biblioteca que tiene la capacidad de generar documento PDF gratis.
Es compatible con la mayora de las caractersticas de standerd del formato de
documento Portable.
1.2 las caractersticas de HARU.
1. Generacin de PDF con texto, grficos, imgenes y as sucesivamente.
2. Usando fuentes de Base14.
3. Type1 fuente embededing.
4. Compresin de corriente del contenido del deflactor.
5. Imgenes PNG y JPEG.
6. Usando fuentes Multibyte (japons, Chino, Coreano).
7. Generar PDFs con contorno.
8. Enlace de anotacin.
9. Usando fuente con codificacin personalizada.
10. Vertical de la escritura de fuentes japonesas.
11. cifrado de longitud de clave de 40 bits.
6
1.3 requisitos
1.3.1 compilador de C++
Haru est escrito en C++ y usa solamente las caractersticas estndar de C++. Por lo
tanto con modificar el makefile, puede utilizarse en muchas plataformas.
1.3.2 Plataformas probadas
Haru es probado en el ambiente siguiente.
Makefile.GCC
Linux + gcc (2.95, 3.2))
Makefile.Cygwin
Makefile.BCC
Makefile.MSVC
Windows + Microsoft
Compiler (5.0 o posterior)
Makefile.Watcom
Windows +
abierto 1.0
compilador
1 Introduccin
VC
++
Watcom
7
http://www.IJG.org/
8
2
Instalacin
CAPTULO 2
Instalacin
2.1 crear biblioteca
Hacer archivos por algunas plataformas estn preparadas llamado makefile.XXX.
Si el fichero makefile para su plataforma est preparado y todas las bibliotecas
requeridas estn instaladas en su pc, simplemente ejecute que comando como el
siguiente.
Linux + gcc
hacer
-f
makefile.gcc
Cygwin + gcc
hacer
-f
makefile.cygwin
hacer
makefile.bcc
wmake
-f
makefile.watcom
wmake
-f
makefile.msvc
Aix(4.3/5L) + gcc
hacer
-f
makefile.aixgcc
hacer
-f
makefile.aixcc
BeOS(5.0.X) + gcc
hacer
-f
makefile.beos
-f
hacer -f makefile.XXX
plataforma)
9
instalar
(cambio
XXX
su
10
CAPTULO 3
->
11
MoveTextPos
(150,
400);
lienzo
ShowText("Hello"); lienzo -> EndText();
->
doc;
10. a manejar la excepcin, proteja de NewDoc() a WriteToFile() mediante prueba y
atrapar bloque.
PdfDoc
*
doc
PdfDoc(); Pruebe
NewDoc();.
=
new
{doc ->
12
Es el modo que dibuja un personaje. Mediante el mtodo EndText() devuelve a modo
de PDF_GMODE_PAGE_DESCRIPTION.
PDF_GMODE_CLIPPING_PATH
PDF_GMODE_SHADINGAPDF_GMODE_INLINE_IMAGEAPDF_GMODE_EX
TE
RNAL_OBJECT
No hay ningn mtodo que utiliza este estado ahora.
3.3 usando Base 14 fuentes
En Haru, es posible utilizar tres tipos de fuentes Base14Font fuentes Type1 y fuente de
CID. Base14Font y un objeto Font tipo1 estn combinando con un objeto de
codificacin y pueden ser tratados en varios idiomas.
Con el uso de fuentes CID, la fuente de 2 bytes en el rea asitica estar disponible.
3.3.1 base 14 Font
En Haru, se incorporan los siguientes 14 tipos de fuentes actualmente denominados
fuentes estndar. Desde estas fuentes no tienen la necesidad de seguramente ser capaz
de usarlo con la aplicacin Visor de todos los archivos PDF, y la incorporacin de un
archivo de fuente, pueden tambin hacer tamao de un archivo PDF pequeos.
13
4. la lista de Base 14
Font
CAPTULO 4
PdfTimesRomanFont
Def
Times.Bold
PdfTimesBoldFontDe
f
Times.Italic
PdfTimesItalicFontDe
f
Times.BoldIt
alic
PdfTimesBoldItalicFo
ntDef
Mensajero
PdfCourierFontDef
Courier.Bold
PdfCourierBoldFontD
ef
Courier.Obliq
ue
PdfCourierObliqueFo
ntDef
Courier.Bold
Oblique
PdfCourierBoldObliq
ueFontDef
Smbolo
PdfSymbolFontDef
ZapfDingbat
s
PdfZapfDingbatsFont
Def
14
StandardEncoding PdfStandardEncoding
WinAnsiEncoding PdfWinAnsiEncoding
MacRomanEncoding PdfMacRomanEncoding
SymbolFontEncoding PdfSymbolFontEncoding
ZapfDingbatsFontEncodingPdfZapfDingbatsFontEncoding
15
5.
referencia de la clase
CAPTULO 5
Referencia de la clase
5.1 objetos de base de.
5.1.1 PdfObject
5.1.2 PdfBoolean
5.1.3 PdfNumber
5.1.4 PDfReal
5.1.5 PdfName
5.1.6 PdfText
5.1.7 PdfArray
5.1.8 PdfDictionary
5.1.9 PdfBinary
5.1.10 PdfUnicodeText
5.2 documento objetos.
5.2.1 PdfDoc
5.2.2 PdfCatalog
5.2.3 PdfInfo
5.2.4 PdfPages
5.2.5 pdf
5.2.6 PdfLinkAnnot
16
5.2.7 PdfDestination
5. referencia de la clase
5.2.8 PdfContents
5.2.9 PdfFont
5.2.10 PdfImage
5.2.11 PdfPngImage
5.2.12 PdfJpegImage
5.2.13 PdfOutlineRoot
5.2.14 PdfOutlineItem
5.3 font objetos.
5.3.1 objetos para fuentes solo byte.
5.3.2 PdfType1FontDef
5.3.3 PdfEncoding
5.3.4 objetos para fuentes multibytes...
5.3.5 PdfCIDFontDef
5.3.6 PdfCMap
17
CAPTULO 6
Resumen de
PdfContentns.
operador
de
clase
linecap);
Argumentos
LineCap
Es el estilo de la lnea trazada por el operador de ruta pintura.
pdf_linecap_style
PDF_BUTT_END trasero tapa. El trazo se enfrentaron en el extremo
del
la ruta de acceso.(Por defecto)
18
PDF_ROUND_END tapa redonda. La carrera termin con un arco
semicircular.
PDF_PROJECTING_SCUARE_END proyeccin tapa cuadrada. El trazo se
Sintaxis
SetLineJoin
void
SetLineJoi
n
(pdf_line_
join_style
linejoin);
Argumentos
LineCap
Es el estilo de la lnea trazada por el operador de ruta pintura.
pdf_line_join_style
PDF_MITER_JOIN se une a inglete
PDF_ROUND_JOIN se une a Ronda
PDF_BEVEL_JOIN se une a bisel
6.1.4
SetMiterLim
it sintaxis
void
SetMiterLimit
(doble
miterlimit);
Argumentos
miterLimit
Se utiliza para calcular mitterlength de dos segmentos de lnea.
19
6.1.5
SetDas
h
sintaxi
s
void
SetDash
(unsigned int en,
unsigned
int
apagado, unsigned
int
fase);
Argumentos
en
Es la longitud del dashs. El valor predeterminado es 0.
apagado
Es la longitud de las lagunas. El valor predeterminado es 0.
fase
Es un nmero para especificar en que empezar marcando el camino. el valor
predeterminado es 0.
6.1.6
SetFl
at
sinta
xis
void
(unsigned
llanura);
SetFlat
int
Argumentos
llanura
Es el parmetro de llanura en el estado de los grficos. el parmetro tiene que
establecer entre 0 y 100. El valor predeterminado es 0.
20
6.2 estado de los grficos especiales
6.2.1 GSave
Guardar el estado actual de la grfica a la pila de restaurar el estado de los
grficos por el mtodo de GRestore(). Sintaxis void GSave();
6.2.2 GReatore
Restaurar el estado de grficos ms reciente guardado por el mtodo GSave().
Sintaxis
void
GSave(
);
6.2.3 Concat
Establece la matriz de transformacin actual en valores especificados. La matriz
predeterminado es [1, 0, 0, 1, 0, 0].
Sintaxis
void Concat
(a, b doble
doble,
doble doble
de
c,
d
doble,
doble
e,
f);
6.3 construccin de camino
6.3.1 MoveTo
Mueve el punto actual a la situacin especifica.
Sintaxis
void MoveTo
(double
x,
double y);
6.3.2 LineTo
21
Aade un segmento de lnea desde el punto actual a la posicin especificada.
Sintaxis
void LineTo
(double
x,
double y);
6.3.3 CurveTo
Anexa una curva Bzier desde el punto actual (x 3, y3).
CurveTo usa (x 1, y1) y (x 2, y2) como el punto de control de una curva de Bzier.
Sintaxis
vaco
CurveTo
(doble x 1
doble y1, x
2 de doble,
doble
y2,
doble x 3,
y3 doble);
6.3.4 CurveTo2
Anexa una curva Bzier desde el punto actual (x 3, y3).
CurveTo utiliza el punto actual y (x 2, y2) como el punto de control de una curva de
Bzier.
Sintaxis
void CurveTo
(doble x 2,
y2
doble,
doble x 3,
y3 doble);
6.3.5 CurveTo2
Anexa una curva Bzier desde el punto actual (x 3, y3).
CurveTo usa (x 1, y1) y (x 3, y3) como el punto de control de una curva de Bzier.
22
Sintaxis
void CurveTo
(doble x 1,
y1
doble,
doble x 3,
y3 doble);
6.3.6 ClosePath
Anexa una lnea estrecha desde el punto actual y la puesta en marcha.
Sintaxis
void
ClosePath(
);
6.3.7 rectngulo
Agrega un rectngulo a la ruta actual.
Sintaxis
void rectngulo (double x, y doble, doble ancho,
doble altura);
6.4 pintura ruta
6.4.1 stroke
La ruta actual del movimiento.
Sintaxis
void
Stroke(
);
6.4.2 ClosePathStroke
Cerrar el camino entonces trazo.
23
Sintaxis
void
ClosePathStroke(
);
6.4.3 relleno
Llene la regin delimitada por el camino.
Sintaxi
s
Fill(
)
vaco
;
6.4.4 EoFill
Llene la regin delimitada por el camino con la regla par-impar.
Sintaxis
void
EoFill(
);
6.4.5 FillStroke
Llenar la regin delimitada por el camino y el camino del movimiento.
Sintaxis void
FillStroke(
);
6.4.6 EoFillStroke
Llene la regin delimitada por el camino con la regla par-impar y trazo el camino.
24
Sintaxis
void
EoFillStroke(
);
6.4.7 ClosePathFillStroke
Cierre el camino entonces llenar la regin delimitada por el camino y la trayectoria
del movimiento.
Sintaxis
void
ClosePathFillStroke(
);
6.4.8 ClosePathEoFillStroke
Cerca de la ruta y luego llenar la regin delimitada por el camino con la regla parimpar y trazo el camino.
Sintaxis
void
ClosePathEoFillStroke(
);
6.5 trazados de recorte de
6.5.1 clip
Recorte la regin delimitada por el camino.
Sintaxi
s void
Clip(
);
6.5.2 EoClip
Recorte la regin delimitada por el camino con la regla par-impar.
25
Sintaxis
void
EoClip(
);
6.6 objeto de texto
6.6.1 BeginText
Comenzar a objeto de texto. Como efecto secundario, se establece el estado de los
grficos en
PDF_GMODE_TEXT_OBJECT.
Sintaxis
void
BeginText(
);
6.6.2 EndText
Objeto de texto final. El estado de los grficos se
PDF_GMODE_PAGE_DESCRIPTION como efecto secundario.
Sintaxis
void
EndText(
);
6.7 estado texto
6.7.1 SetCharSpace
Establece el espacio de caracteres del texto en el valor especificado.
Sintaxis
void
SetCharSpace
(valor doble);
establece
en
26
6.7.2 SetWordSpace
Establece el espacio de la palabra del texto en el valor especificado.
Sintaxis
void
SetWordSpace
(valor doble);
6.7.3 SetHorizontalScalling
Establece la scalling horizontal de la fuente en el valor especificado.
Sintaxis
void SetHorizontalScalling
(valor doble);
6.7.4 SetTextLeading
Establecer el texto conduce al valor especificado. El valor predeterminado es 0.
Sintaxis
void
SetTextLeading
(valor doble);
6.7.5 SetFontAndSize
Establece la fuente del texto. Lanza PDF_RUNTIME_ERROR cuando se especifica
una fuente vlida.
Sintaxis
void
SetFontAndSize
(const
char
*
fontname,
tamao
doble);
void
SetFontAndSize
(PdfFont * font,
tamao
doble);
Argumentos
27
FontName
Es el nombre de la fuente registrada por PdfDoc::AddType1Font.
fuente
Es el puntero de un objeto PdfDoc.
tamao
Es el tamao de la fuente. El tamao debe ser mayor que 0.
6.7.6 SetTextRenderingMode
Establezca el modo de representacin del personaje.
Sintaxis
void
SetTextRenderingMode
(modo
pdf_text_rendering_mode); Argumentos
modo
Es el modo de renderizado. Debe ser uno de los siguientes.
pdf_text_rendering_mode
PDF_FILL
PDF_STROKE
PDF_FILL_THEN_STROKE
PDF_FILL_CLIPPING
PDF_STROKE_CLIPPING
PDF_FILL_STROKE_CLIPPING
PDF_CLIPPING
6.7.7 SetTextRaise
Mover la lnea de base del texto desde la posicin actual.
Sintaxis void
SetTextRais
28
e
(valor
doble);
6.8 texto posicionamiento
6.8.1 MoveTextPos
Hacia la posicin actual de texto especificado los valores X e Y.
Sintaxis
void MoveTextPos
(valor doble);
6.8.2 MoveTextPos2
Hacia la posicin actual de texto especificado los valores X e Y. Y establecer
el texto de lectura - y. Este mtodo es igual como el siguiente.
MoveTextPos
y);
(x,
SetTextLeading(y); Sintaxis
void
MoveTextPos2
(doble
de
valor);
su
6.8.3 SetTextMatrix
Sintaxis
void
SetTextMatri
x
(doble,
doble b, c
doble, doble
d, double x,
double y);
6.8.4 MoveToNextLine
Mueva la posicin actual del texto a la lnea siguiente.
29
Sintaxis
void
MoveToNextLine(
);
6.9 Mostrar texto
6.9.1 ShowText
Mostrar un texto en la posicin actual del texto.
Sintaxis
void
ShowText
(const char *
texto);
6.9.2 ShowTextNextLine
Pasar a la siguiente lnea y mostrar un texto.
Sintaxis
void
ShowTextNextLin
e (const char *
texto);
void
ShowTextNextLin
e
(doble
aw,
doble ac, const
char * texto);
6.10 mostrando color
6.10.1 SetGrayFill
Definir color de escala de grises para las operaciones de relleno. El parmetro gris
debe ser decimal entre 0.0 a 1.0
Sintaxis
void SetGrayFill
(doble gris);
30
6.10.2 SetGrayStroke
Definir color de escala de grises para las operaciones de movimiento. El parmetro
gris debe ser decimal entre 0.0 a 1.0
Sintaxis
void
SetGrayStroke
(doble gris);
6.10.3 SetRGBFill
Sistema de color RGB para el llenado de las operaciones.
El primer formato, cada color se especifica para los nmeros enteros de 0 a 255.
El segundo formato, cada color se especifica para los decimales de 0.0 a 1.0.
Sintaxis
void
SetRGBFil
l (int r,
int g,
int
b);
void
SetRGBFil
l (double
r, double
g,
doble
b);
6.10.4 SetRGBStroke
Sistema de color RGB para acariciar las operaciones.
El primer formato, cada color se especifica para los nmeros enteros de 0 a 255.
El segundo formato, cada color se especifica para los decimales de 0.0 a 1.0.
Sintaxis
void
SetRGBStrok
e (int r,
int g, int
b);
void
31
SetRGBStrok
e
(double
r,
double
g,
doble
b);
6.10.5 SetCMYKFill
Establezca CYMK color para las operaciones de relleno.
Sintaxis
void
SetCMYKFill
(doble
c,
doble m, y
doble, doble
k);
6.10.6 SetCMYKStroke
Definir color CMYK para acariciar las operaciones.
Sintaxis
void
SetCMYKStrok
e (doble c,
doble m, y
doble, doble
k);
6.11 XObjects
6.11.1 ExecuteXObject
Pintar el XObject especificada en el rea especificada por PdfContents::Concat.
El primer formato, especificar el parmetro name para el nombre spesified en
PdfDoc::AddXObject. El segundo formato, especifique el puntero a PdfXObject
directamente.
Sintaxis
void
ExecuteXObject
(const
char
*
nombre);
void
ExecuteXObject)
32
PdfXObject* xobject);
33
7.el copyright permiso
CAPTULO 7
Permiso de copyright
HARU toma la licencia ZLIB/PNG. La licencia es Descripcin bramido.
Copyright (C) 1999-2004 Takeshi Kanno < takeshi_kanno@est.hi-ho.ne.jp >
Este software se proporciona "como-es ', sin ninguna express o garanta implcita. En
ningn caso los autores se responsabilizar por daos derivados del uso de este software.
Se concede permiso a nadie para utilizar este software para cualquier propsito, incluidas
las aplicaciones comerciales y para modificarlo y redistribuirlo libremente, sujeto a las
siguientes restricciones:
1. El origen de este software no debe ser interpretado; Usted no debe reclamar que
escribiste el software original. Si utiliza este software en un producto, un
reconocimiento en la documentacin del producto sera apreciado pero no es
necesario.
2. Alterado fuente versiones deben marcarse claramente como tal y no deben ser
interpretadas como el software original.
3. Este aviso no puede ser quitado o alterado de cualquier distribucin de cdigo fuente.
8 bibliografa
CAPTULO 8
34
Bibliografa
8.1 PDF recursos.
Adobe Reader (Acrobat Reader).
URL: http://www.adobe.com/products/acrobat/readermain.html
8.2 Programacin recursos
Referencias PDF estn disponibles en las siguientes
URL: http://partners.adobe.com/asn/developer/acrosdk/docs.html
Charsets ndice est disponible en la siguiente
URL: http://www.kostis.net/charsets/
8.3 Type1 Font recursos
Formato de fuentes Adobe tipo 1
URL: http://partners.adobe.com/asn/tech/type/opentype/otover.jsp
Fuentes de Ghostscript 6.0
URL: http://sourceforge.net/projects/gs-fonts/
Conjunto de fuentes Type1 KOI8-R
URL: ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/
Paquete fuente CM-Super
Copyright 2001, 2002 Vladimir Volovich < vvv@vsu.ru >.
URL: http://www.ctan.org/tex-archive/fonts/ps-type1/cm-super/
TTF2PTF (True Type Font a tipo 1 Font Converter) URL:
http://ttf2pt1.sourceforge.net/
8.4 aviso de copyright de
El IJG JPEG LIBRARY
Copyright 1991-1998, Thomas G. Lane.
8 bibliografa
35
La biblioteca PNG
Copyright 1998 - 2001 Glenn Randers-Pehrson
La biblioteca de Compresin Zlib
Copyright 1995 - 2002 Jean-loup Gailly y Mark Adler
ARC4.h, arc4.c (ARC4 cripta)
Copyright (c) 2003 Markus Friedl < markus@openbsd.org >
Adobe, Acrobat son marcas registradas de Adobe Systems Incorporated.