Added PDFlib lite 5.0.3 which is required to build the PDF printer driver.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9230 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9f61371bd2
commit
ffe881b8a5
8
src/libs/pdflib/bind/Makefile
Normal file
8
src/libs/pdflib/bind/Makefile
Normal file
@ -0,0 +1,8 @@
|
||||
# PDFlib bindings Makefile
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
|
||||
include ../config/mkcommon.inc
|
||||
|
||||
SUB_DIRS = $(BINDTARGETS)
|
||||
|
||||
include ../config/mksubdirs.inc
|
86
src/libs/pdflib/bind/pdflib/c/Makefile
Normal file
86
src/libs/pdflib/bind/pdflib/c/Makefile
Normal file
@ -0,0 +1,86 @@
|
||||
# Makefile for PDFlib C samples, C language binding
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
include $(top_builddir)/config/mkcommon.inc
|
||||
|
||||
DEPLIBS = $(PDFLIBLINK)
|
||||
LIBS = $(DEPLIBS) $(EXTERNALLIBS)
|
||||
INCLUDES = $(PDFLIBINC) $(PDCORELIBINC)
|
||||
FLAGS = $(LDFLAGS) $(CPPFLAGS) $(CFLAGS)
|
||||
|
||||
# the following is platform-specific
|
||||
DLLIB = -ldl
|
||||
|
||||
# ------------------------------
|
||||
|
||||
SRC = \
|
||||
$(srcdir)/chartab.c \
|
||||
$(srcdir)/hello.c \
|
||||
$(srcdir)/hellodl.c \
|
||||
$(srcdir)/image.c \
|
||||
$(srcdir)/pdfclock.c \
|
||||
$(srcdir)/invoice.c \
|
||||
$(srcdir)/businesscard.c \
|
||||
$(srcdir)/quickreference.c \
|
||||
$(srcdir)/smoketest.c \
|
||||
$(srcdir)/smoketestdl.c
|
||||
|
||||
PROGS = \
|
||||
hello$(EXE) \
|
||||
image$(EXE) \
|
||||
pdfclock$(EXE) \
|
||||
chartab$(EXE) \
|
||||
invoice$(EXE) \
|
||||
businesscard$(EXE) \
|
||||
quickreference$(EXE)
|
||||
|
||||
include $(top_builddir)/config/mkprogs.inc
|
||||
|
||||
test:: $(PROGS)
|
||||
-./hello
|
||||
-./image
|
||||
-./pdfclock
|
||||
-./chartab
|
||||
-./invoice
|
||||
-./businesscard
|
||||
-./quickreference
|
||||
|
||||
smoke:: test smoketest$(EXE)
|
||||
-./smoketest
|
||||
|
||||
clean::
|
||||
$(RM) chartab.pdf hello.pdf image.pdf pdfclock.pdf invoice.pdf
|
||||
$(RM) smoketest$(EXE) smoketestdl$(EXE) smoke_c_?.pdf smoke_cdl_?.pdf
|
||||
$(RM) hellodl hellodl.pdf businesscard.pdf quickreference.pdf
|
||||
|
||||
hello$(EXE): hello.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
image$(EXE): image.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
pdfclock$(EXE): pdfclock.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
chartab$(EXE): chartab.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
invoice$(EXE): invoice.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
businesscard$(EXE): businesscard.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
quickreference$(EXE): quickreference.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
smoketest$(EXE): smoketest.c $(DEPLIBS)
|
||||
$(PROGS_BUILD)
|
||||
|
||||
smoketestdl$(EXE): smoketestdl.c pdflibdl.c $(DEPLIBS) $(DLLIB) pdflibdl.h
|
||||
$(PROGS_BUILD) pdflibdl.c $(DLLIB)
|
||||
|
||||
hellodl$(EXE): hellodl.c pdflibdl.c $(DEPLIBS) $(DLLIB) pdflibdl.h
|
||||
$(PROGS_BUILD) pdflibdl.c $(DLLIB)
|
109
src/libs/pdflib/bind/pdflib/c/businesscard.c
Normal file
109
src/libs/pdflib/bind/pdflib/c/businesscard.c
Normal file
@ -0,0 +1,109 @@
|
||||
/* $Id: businesscard.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
* PDFlib client: block processing example in C
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF *p;
|
||||
int i, blockcontainer, page;
|
||||
char *infile = "boilerplate.pdf";
|
||||
|
||||
/*
|
||||
* This is where font/image/PDF input files live. Adjust as necessary.
|
||||
*
|
||||
* Note that this directory must also contain the LuciduxSans font outline
|
||||
* and metrics files.
|
||||
*/
|
||||
char *searchpath = "../data";
|
||||
|
||||
typedef struct { char *name; char *value; } blockdata;
|
||||
|
||||
blockdata data[] = {
|
||||
{ "name", "Victor Kraxi" },
|
||||
{ "business.title", "Chief Paper Officer" },
|
||||
{ "business.address.line1", "17, Aviation Road" },
|
||||
{ "business.address.city", "Paperfield" },
|
||||
{ "business.telephone.voice","phone +1 234 567-89" },
|
||||
{ "business.telephone.fax", "fax +1 234 567-98" },
|
||||
{ "business.email", "victor@kraxi.com" },
|
||||
{ "business.homepage", "www.kraxi.com" },
|
||||
};
|
||||
|
||||
#define BLOCKCOUNT (sizeof(data)/sizeof(data[0]))
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p) {
|
||||
/* Set the search path for fonts and PDF files */
|
||||
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "businesscard.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "businesscard.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title","PDFlib block processing sample (C)");
|
||||
|
||||
blockcontainer = PDF_open_pdi(p, infile, "", 0);
|
||||
if (blockcontainer == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
page = PDF_open_pdi_page(p, blockcontainer, 1, "");
|
||||
if (page == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_begin_page(p, 20, 20); /* dummy page size */
|
||||
|
||||
/* This will adjust the page size to the block container's size. */
|
||||
PDF_fit_pdi_page(p, page, 0, 0, "adjustpage");
|
||||
|
||||
/* Fill all text blocks with dynamic data */
|
||||
for (i = 0; i < (int) BLOCKCOUNT; i++) {
|
||||
if (PDF_fill_textblock(p, page, data[i].name, data[i].value, 0,
|
||||
"embedding encoding=host") == -1) {
|
||||
printf("Warning: %s\n", PDF_get_errmsg(p));
|
||||
}
|
||||
}
|
||||
|
||||
PDF_end_page(p); /* close page */
|
||||
PDF_close_pdi_page(p, page);
|
||||
|
||||
PDF_close(p); /* close PDF document */
|
||||
PDF_close_pdi(p, blockcontainer);
|
||||
}
|
||||
|
||||
PDF_CATCH(p) {
|
||||
printf("PDFlib exception occurred in businesscard sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p); /* delete the PDFlib object */
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/businesscard.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/businesscard.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="businesscard" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=businesscard - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "businesscard.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "businesscard.mak" CFG="businesscard - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "businesscard - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "businesscard - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "businesscard - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"businesscard.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "businesscard - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"businesscard.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "businesscard - Win32 Release"
|
||||
# Name "businesscard - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\businesscard.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
129
src/libs/pdflib/bind/pdflib/c/chartab.c
Normal file
129
src/libs/pdflib/bind/pdflib/c/chartab.c
Normal file
@ -0,0 +1,129 @@
|
||||
/* $Id: chartab.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
* PDFlib client: character table in C
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* change these as required */
|
||||
const char *fontname = "LuciduxSans-Oblique";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
char *searchpath = "../data";
|
||||
|
||||
/* list of encodings to use */
|
||||
const char *encodings[] = { "iso8859-1", "iso8859-2", "iso8859-15" };
|
||||
|
||||
/* whether or not to embed the font */
|
||||
int embed = 1;
|
||||
|
||||
#define ENCODINGS ((int) ((sizeof(encodings)/sizeof(encodings[0]))))
|
||||
|
||||
char buf[256];
|
||||
float x, y;
|
||||
PDF *p;
|
||||
int row, col, font, page;
|
||||
|
||||
#define FONTSIZE ((float) 16)
|
||||
#define TOP ((float) 700)
|
||||
#define LEFT ((float) 50)
|
||||
#define YINCR 2*FONTSIZE
|
||||
#define XINCR 2*FONTSIZE
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p)
|
||||
{
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "chartab.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_set_parameter(p, "openaction", "fitpage");
|
||||
PDF_set_parameter(p, "fontwarning", "true");
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "chartab.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title", "Character table (C)");
|
||||
|
||||
/* loop over all encodings */
|
||||
for (page = 0; page < ENCODINGS; page++)
|
||||
{
|
||||
PDF_begin_page(p, a4_width, a4_height); /* start a new page */
|
||||
|
||||
/* print the heading and generate the bookmark */
|
||||
/* Change "host" encoding to "winansi" or whatever you need! */
|
||||
font = PDF_load_font(p, "Helvetica", 0, "host", "");
|
||||
PDF_setfont(p, font, FONTSIZE);
|
||||
sprintf(buf, "%s (%s) %sembedded",
|
||||
fontname, encodings[page], embed ? "" : "not ");
|
||||
|
||||
PDF_show_xy(p, buf, LEFT - XINCR, TOP + 3 * YINCR);
|
||||
PDF_add_bookmark(p, buf, 0, 0);
|
||||
|
||||
/* print the row and column captions */
|
||||
PDF_setfont(p, font, 2 * FONTSIZE/3);
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
sprintf(buf, "x%X", row);
|
||||
PDF_show_xy(p, buf, LEFT + row*XINCR, TOP + YINCR);
|
||||
|
||||
sprintf(buf, "%Xx", row);
|
||||
PDF_show_xy(p, buf, LEFT - XINCR, TOP - row * YINCR);
|
||||
}
|
||||
|
||||
/* print the character table */
|
||||
font = PDF_load_font(p, fontname, 0, encodings[page],
|
||||
embed ? "embedding": "");
|
||||
PDF_setfont(p, font, FONTSIZE);
|
||||
|
||||
y = TOP;
|
||||
x = LEFT;
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
for (col = 0; col < 16; col++) {
|
||||
sprintf(buf, "%c", 16*row + col);
|
||||
PDF_show_xy(p, buf, x, y);
|
||||
x += XINCR;
|
||||
}
|
||||
x = LEFT;
|
||||
y -= YINCR;
|
||||
}
|
||||
|
||||
PDF_end_page(p); /* close page */
|
||||
}
|
||||
|
||||
PDF_close(p); /* close PDF document */
|
||||
}
|
||||
PDF_CATCH(p)
|
||||
{
|
||||
printf("PDFlib exception occurred in chartab sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p); /* delete the PDFlib object */
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/chartab.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/chartab.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="chartab" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=chartab - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "chartab.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "chartab.mak" CFG="chartab - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "chartab - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "chartab - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "chartab - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"chartab.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "chartab - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"chartab.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "chartab - Win32 Release"
|
||||
# Name "chartab - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\chartab.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
101
src/libs/pdflib/bind/pdflib/c/examples_c.dsw
Normal file
101
src/libs/pdflib/bind/pdflib/c/examples_c.dsw
Normal file
@ -0,0 +1,101 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "businesscard"=".\businesscard.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "chartab"=".\chartab.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "hello"=".\hello.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "image"=".\image.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "invoice"=".\invoice.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "pdfclock"=".\pdfclock.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "quickreference"=".\quickreference.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
63
src/libs/pdflib/bind/pdflib/c/hello.c
Normal file
63
src/libs/pdflib/bind/pdflib/c/hello.c
Normal file
@ -0,0 +1,63 @@
|
||||
/* $Id: hello.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
* PDFlib client: hello example in C
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF *p;
|
||||
int font;
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p) {
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "hello.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "hello.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title", "Hello, world (C)!");
|
||||
|
||||
PDF_begin_page(p, a4_width, a4_height); /* start a new page */
|
||||
|
||||
/* Change "host" encoding to "winansi" or whatever you need! */
|
||||
font = PDF_load_font(p, "Helvetica-Bold", 0, "host", "");
|
||||
|
||||
PDF_setfont(p, font, 24);
|
||||
PDF_set_text_pos(p, 50, 700);
|
||||
PDF_show(p, "Hello, world!");
|
||||
PDF_continue_text(p, "(says C)");
|
||||
PDF_end_page(p); /* close page */
|
||||
|
||||
PDF_close(p); /* close PDF document */
|
||||
}
|
||||
|
||||
PDF_CATCH(p) {
|
||||
printf("PDFlib exception occurred in hello sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p); /* delete the PDFlib object */
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/hello.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/hello.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="hello" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=hello - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "hello.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "hello.mak" CFG="hello - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "hello - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "hello - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "hello - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"hello.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "hello - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"hello.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "hello - Win32 Release"
|
||||
# Name "hello - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\hello.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
66
src/libs/pdflib/bind/pdflib/c/hellodl.c
Normal file
66
src/libs/pdflib/bind/pdflib/c/hellodl.c
Normal file
@ -0,0 +1,66 @@
|
||||
/* $Id: hellodl.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
* PDFlib client: hello example in C with dynamic DLL loading
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflibdl.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF *p;
|
||||
int font;
|
||||
PDFlib_api *PDFlib;
|
||||
|
||||
/* load the PDFlib dynamic library and create a new PDFlib object*/
|
||||
if ((PDFlib = PDF_new_dl(&p)) == (PDFlib_api *) NULL)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (DLL not found?)\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY_DL(PDFlib, p) {
|
||||
/* open new PDF file */
|
||||
if (PDFlib->PDF_open_file(p, "hellodl.pdf") == -1) {
|
||||
printf("Error: %s\n", PDFlib->PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDFlib->PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDFlib->PDF_set_info(p, "Creator", "hello.c");
|
||||
PDFlib->PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDFlib->PDF_set_info(p, "Title", "Hello, world (C DLL)!");
|
||||
|
||||
PDFlib->PDF_begin_page(p, a4_width, a4_height); /* start a new page */
|
||||
|
||||
/* Change "host" encoding to "winansi" or whatever you need! */
|
||||
font = PDFlib->PDF_load_font(p, "Helvetica-Bold", 0, "host", "");
|
||||
|
||||
PDFlib->PDF_setfont(p, font, 24);
|
||||
PDFlib->PDF_set_text_pos(p, 50, 700);
|
||||
PDFlib->PDF_show(p, "Hello, world!");
|
||||
PDFlib->PDF_continue_text(p, "(says C DLL)");
|
||||
PDFlib->PDF_end_page(p); /* close page */
|
||||
|
||||
PDFlib->PDF_close(p); /* close PDF document */
|
||||
}
|
||||
|
||||
PDF_CATCH_DL(PDFlib, p) {
|
||||
printf("PDFlib exception occurred in hellodl sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDFlib->PDF_get_errnum(p), PDFlib->PDF_get_apiname(p),
|
||||
PDFlib->PDF_get_errmsg(p));
|
||||
PDF_delete_dl(PDFlib, p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
/* delete the PDFlib object and unload the library */
|
||||
PDF_delete_dl(PDFlib, p);
|
||||
|
||||
return 0;
|
||||
}
|
71
src/libs/pdflib/bind/pdflib/c/image.c
Normal file
71
src/libs/pdflib/bind/pdflib/c/image.c
Normal file
@ -0,0 +1,71 @@
|
||||
/* $Id: image.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
* PDFlib client: image example in C
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF *p;
|
||||
int image;
|
||||
char *imagefile = "nesrin.jpg";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
char *searchpath = "../data";
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p){
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "image.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "image.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title", "image sample (C)");
|
||||
|
||||
image = PDF_load_image(p, "auto", imagefile, 0, "");
|
||||
|
||||
if (image == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(3);
|
||||
}
|
||||
|
||||
/* dummy page size, will be adjusted by PDF_fit_image() */
|
||||
PDF_begin_page(p, 10, 10);
|
||||
PDF_fit_image(p, image, (float) 0.0, (float) 0.0, "adjustpage");
|
||||
PDF_close_image(p, image);
|
||||
PDF_end_page(p); /* close page */
|
||||
|
||||
PDF_close(p); /* close PDF document */
|
||||
}
|
||||
|
||||
PDF_CATCH(p) {
|
||||
printf("PDFlib exception occurred in image sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p); /* delete the PDFlib object */
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/image.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/image.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="image" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=image - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "image.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "image.mak" CFG="image - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "image - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "image - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "image - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"image.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "image - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"image.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "image - Win32 Release"
|
||||
# Name "image - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\image.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
196
src/libs/pdflib/bind/pdflib/c/invoice.c
Normal file
196
src/libs/pdflib/bind/pdflib/c/invoice.c
Normal file
@ -0,0 +1,196 @@
|
||||
/* $Id: invoice.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
*
|
||||
* PDFlib/PDI client: invoice generation demo
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF * p;
|
||||
int i, form, page, regularfont, boldfont;
|
||||
char * infile = "stationery.pdf";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
char *searchpath = "../data";
|
||||
|
||||
const float col1 = 55;
|
||||
const float col2 = 100;
|
||||
const float col3 = 330;
|
||||
const float col4 = 430;
|
||||
const float col5 = 530;
|
||||
time_t timer;
|
||||
struct tm ltime;
|
||||
float fontsize = 12, leading, y;
|
||||
float sum, total;
|
||||
float pagewidth = 595, pageheight = 842;
|
||||
char buf[128];
|
||||
char *closingtext =
|
||||
"30 days warranty starting at the day of sale. "
|
||||
"This warranty covers defects in workmanship only. "
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the "
|
||||
"product under the warranty. This warranty is not transferable. "
|
||||
"No returns or exchanges will be accepted for wet products.";
|
||||
|
||||
typedef struct { char *name; float price; int quantity; } articledata;
|
||||
|
||||
articledata data[] = {
|
||||
{ "Super Kite", 20, 2},
|
||||
{ "Turbo Flyer", 40, 5},
|
||||
{ "Giga Trash", 180, 1},
|
||||
{ "Bare Bone Kit", 50, 3},
|
||||
{ "Nitty Gritty", 20, 10},
|
||||
{ "Pretty Dark Flyer", 75, 1},
|
||||
{ "Free Gift", 0, 1},
|
||||
};
|
||||
|
||||
#define ARTICLECOUNT (sizeof(data)/sizeof(data[0]))
|
||||
|
||||
static const char *months[] = {
|
||||
"January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December"
|
||||
};
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p) {
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "invoice.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "invoice.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title", "PDFlib invoice generation demo (C)");
|
||||
|
||||
form = PDF_open_pdi(p, infile, "", 0);
|
||||
if (form == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
page = PDF_open_pdi_page(p, form, 1, "");
|
||||
if (page == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
boldfont = PDF_load_font(p, "Helvetica-Bold", 0, "host", "");
|
||||
regularfont = PDF_load_font(p, "Helvetica", 0, "host", "");
|
||||
leading = fontsize + 2;
|
||||
|
||||
/* Establish coordinates with the origin in the upper left corner. */
|
||||
PDF_set_parameter(p, "topdown", "true");
|
||||
|
||||
PDF_begin_page(p, pagewidth, pageheight); /* A4 page */
|
||||
|
||||
PDF_fit_pdi_page(p, page, 0, pageheight, "");
|
||||
PDF_close_pdi_page(p, page);
|
||||
|
||||
PDF_setfont(p, regularfont, fontsize);
|
||||
|
||||
/* Print the address */
|
||||
y = 170;
|
||||
PDF_set_value(p, "leading", leading);
|
||||
|
||||
PDF_show_xy(p, "John Q. Doe", col1, y);
|
||||
PDF_continue_text(p, "255 Customer Lane");
|
||||
PDF_continue_text(p, "Suite B");
|
||||
PDF_continue_text(p, "12345 User Town");
|
||||
PDF_continue_text(p, "Everland");
|
||||
|
||||
/* Print the header and date */
|
||||
|
||||
PDF_setfont(p, boldfont, fontsize);
|
||||
y = 300;
|
||||
PDF_show_xy(p, "INVOICE", col1, y);
|
||||
|
||||
time(&timer);
|
||||
ltime = *localtime(&timer);
|
||||
sprintf(buf, "%s %d, %d",
|
||||
months[ltime.tm_mon], ltime.tm_mday, ltime.tm_year + 1900);
|
||||
PDF_fit_textline(p, buf, 0, col5, y, "position {100 0}");
|
||||
|
||||
/* Print the invoice header line */
|
||||
PDF_setfont(p, boldfont, fontsize);
|
||||
|
||||
/* "position {0 0}" is left-aligned, "position {100 0}" right-aligned */
|
||||
y = 370;
|
||||
PDF_fit_textline(p, "ITEM", 0, col1, y, "position {0 0}");
|
||||
PDF_fit_textline(p, "DESCRIPTION", 0, col2, y, "position {0 0}");
|
||||
PDF_fit_textline(p, "QUANTITY", 0, col3, y, "position {100 0}");
|
||||
PDF_fit_textline(p, "PRICE", 0, col4, y, "position {100 0}");
|
||||
PDF_fit_textline(p, "AMOUNT", 0, col5, y, "position {100 0}");
|
||||
|
||||
/* Print the article list */
|
||||
|
||||
PDF_setfont(p, regularfont, fontsize);
|
||||
y += 2*leading;
|
||||
total = 0;
|
||||
|
||||
for (i = 0; i < (int) ARTICLECOUNT; i++) {
|
||||
sprintf(buf, "%d", i+1);
|
||||
PDF_show_xy(p, buf, col1, y);
|
||||
|
||||
PDF_show_xy(p, data[i].name, col2, y);
|
||||
|
||||
sprintf(buf, "%d", data[i].quantity);
|
||||
PDF_fit_textline(p, buf, 0, col3, y, "position {100 0}");
|
||||
|
||||
sprintf(buf, "%.2f", data[i].price);
|
||||
PDF_fit_textline(p, buf, 0, col4, y, "position {100 0}");
|
||||
|
||||
sum = data[i].price * data[i].quantity;
|
||||
sprintf(buf, "%.2f", sum);
|
||||
PDF_fit_textline(p, buf, 0, col5, y, "position {100 0}");
|
||||
|
||||
y += leading;
|
||||
total += sum;
|
||||
}
|
||||
|
||||
y += leading;
|
||||
PDF_setfont(p, boldfont, fontsize);
|
||||
sprintf(buf, "%.2f", total);
|
||||
PDF_fit_textline(p, buf, 0, col5, y, "position {100 0}");
|
||||
|
||||
/* Print the closing text */
|
||||
|
||||
y += 5*leading;
|
||||
PDF_setfont(p, regularfont, fontsize);
|
||||
PDF_set_value(p, "leading", leading);
|
||||
PDF_show_boxed(p, closingtext,
|
||||
col1, y + 4*leading, col5-col1, 4*leading, "justify", "");
|
||||
|
||||
PDF_end_page(p);
|
||||
PDF_close(p);
|
||||
PDF_close_pdi(p, form);
|
||||
}
|
||||
|
||||
PDF_CATCH(p) {
|
||||
printf("PDFlib exception occurred in invoice sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p);
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/invoice.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/invoice.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="invoice" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=invoice - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "invoice.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "invoice.mak" CFG="invoice - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "invoice - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "invoice - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "invoice - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"invoice.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "invoice - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"invoice.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "invoice - Win32 Release"
|
||||
# Name "invoice - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\invoice.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
131
src/libs/pdflib/bind/pdflib/c/pdfclock.c
Normal file
131
src/libs/pdflib/bind/pdflib/c/pdfclock.c
Normal file
@ -0,0 +1,131 @@
|
||||
/* $Id: pdfclock.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
* A little PDFlib application to draw an analog clock.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
#define RADIUS 200.0f
|
||||
#define MARGIN 20.0f
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF *p;
|
||||
float alpha;
|
||||
time_t timer;
|
||||
struct tm ltime;
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p) {
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "pdfclock.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "pdfclock.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title", "PDF clock (C)");
|
||||
|
||||
PDF_begin_page(p, (float) (2 * (RADIUS + MARGIN)),
|
||||
(float) (2 * (RADIUS + MARGIN)));
|
||||
|
||||
PDF_translate(p, RADIUS + MARGIN, RADIUS + MARGIN);
|
||||
PDF_setcolor(p, "fillstroke", "rgb", 0, 0, 1, 0);
|
||||
PDF_save(p);
|
||||
|
||||
/* minute strokes */
|
||||
PDF_setlinewidth(p, 2);
|
||||
for (alpha = 0; alpha < 360; alpha += 6)
|
||||
{
|
||||
PDF_rotate(p, 6);
|
||||
PDF_moveto(p, RADIUS, 0);
|
||||
PDF_lineto(p, (float) (RADIUS-MARGIN/3), 0);
|
||||
PDF_stroke(p);
|
||||
}
|
||||
|
||||
PDF_restore(p);
|
||||
PDF_save(p);
|
||||
|
||||
/* 5 minute strokes */
|
||||
PDF_setlinewidth(p, 3);
|
||||
for (alpha = 0; alpha < 360; alpha += 30)
|
||||
{
|
||||
PDF_rotate(p, 30);
|
||||
PDF_moveto(p, RADIUS, 0);
|
||||
PDF_lineto(p, RADIUS-MARGIN, 0);
|
||||
PDF_stroke(p);
|
||||
}
|
||||
|
||||
time(&timer);
|
||||
ltime = *localtime(&timer);
|
||||
|
||||
/* draw hour hand */
|
||||
PDF_save(p);
|
||||
PDF_rotate(p,
|
||||
(float)(-((ltime.tm_min/60.0) + ltime.tm_hour - 3.0) * 30.0));
|
||||
PDF_moveto(p, -RADIUS/10, -RADIUS/20);
|
||||
PDF_lineto(p, RADIUS/2, 0);
|
||||
PDF_lineto(p, -RADIUS/10, RADIUS/20);
|
||||
PDF_closepath(p);
|
||||
PDF_fill(p);
|
||||
PDF_restore(p);
|
||||
|
||||
/* draw minute hand */
|
||||
PDF_save(p);
|
||||
PDF_rotate(p,
|
||||
(float) (-((ltime.tm_sec/60.0) + ltime.tm_min - 15.0) * 6.0));
|
||||
PDF_moveto(p, -RADIUS/10, -RADIUS/20);
|
||||
PDF_lineto(p, RADIUS * 0.8f, 0);
|
||||
PDF_lineto(p, -RADIUS/10, RADIUS/20);
|
||||
PDF_closepath(p);
|
||||
PDF_fill(p);
|
||||
PDF_restore(p);
|
||||
|
||||
/* draw second hand */
|
||||
PDF_setcolor(p, "fillstroke", "rgb", 1, 0, 0, 0);
|
||||
PDF_setlinewidth(p, 2);
|
||||
PDF_save(p);
|
||||
PDF_rotate(p, (float) -((ltime.tm_sec - 15.0) * 6.0));
|
||||
PDF_moveto(p, -RADIUS/5, 0);
|
||||
PDF_lineto(p, RADIUS, 0);
|
||||
PDF_stroke(p);
|
||||
PDF_restore(p);
|
||||
|
||||
/* draw little circle at center */
|
||||
PDF_circle(p, 0, 0, (float) RADIUS/30);
|
||||
PDF_fill(p);
|
||||
|
||||
PDF_restore(p);
|
||||
|
||||
PDF_end_page(p);
|
||||
|
||||
PDF_close(p);
|
||||
}
|
||||
|
||||
PDF_CATCH(p) {
|
||||
printf("PDFlib exception occurred in pdfclock sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p); /* delete the PDFlib object */
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/pdfclock.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/pdfclock.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="pdfclock" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=pdfclock - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "pdfclock.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "pdfclock.mak" CFG="pdfclock - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "pdfclock - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "pdfclock - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "pdfclock - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "pdfclock - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"pdfclock.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "pdfclock - Win32 Release"
|
||||
# Name "pdfclock - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdfclock.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
532
src/libs/pdflib/bind/pdflib/c/pdflibdl.c
Normal file
532
src/libs/pdflib/bind/pdflib/c/pdflibdl.c
Normal file
@ -0,0 +1,532 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
| PDFlib - A library for generating PDF on the fly |
|
||||
+---------------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 Thomas Merz and PDFlib GmbH. All rights reserved. |
|
||||
+---------------------------------------------------------------------------+
|
||||
| |
|
||||
| This software is subject to the PDFlib license. It is NOT in the |
|
||||
| public domain. Extended versions and commercial licenses are |
|
||||
| available, please check http://www.pdflib.com. |
|
||||
| |
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
/* $Id: pdflibdl.c,v 1.1 2004/10/06 17:46:38 laplace Exp $
|
||||
*
|
||||
* C wrapper code for dynamically loading the PDFlib DLL at runtime.
|
||||
*
|
||||
* This module is not supported on all platforms.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflibdl.h"
|
||||
|
||||
/* enable this to avoid error messages */
|
||||
//#define PDF_SILENT
|
||||
|
||||
/* ---------------------------------- WIN32 ----------------------------- */
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <winbase.h>
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
|
||||
#define PDF_DLLNAME "pdflib.dll"
|
||||
|
||||
static void *
|
||||
pdf_dlopen(const char *filename)
|
||||
{
|
||||
return (void *) LoadLibrary(filename);
|
||||
}
|
||||
|
||||
static void *
|
||||
pdf_dlsym(void *handle, const char *funcname)
|
||||
{
|
||||
return (void *) GetProcAddress((HINSTANCE) handle, funcname);
|
||||
}
|
||||
|
||||
static void
|
||||
pdf_dlclose(void *handle)
|
||||
{
|
||||
(void) FreeLibrary((HINSTANCE) handle);
|
||||
}
|
||||
|
||||
/* ---------------------------------- MVS ----------------------------- */
|
||||
|
||||
#elif defined(__MVS__)
|
||||
|
||||
#include <dynit.h>
|
||||
#include <dll.h>
|
||||
|
||||
#define PDF_DLLNAME "PDFLIB"
|
||||
|
||||
static void *
|
||||
pdf_dlopen(const char *filename)
|
||||
{
|
||||
return dllload(filename);
|
||||
}
|
||||
|
||||
static void *
|
||||
pdf_dlsym(void *handle, const char *funcname)
|
||||
{
|
||||
return dllqueryfn((dllhandle *) handle, funcname);
|
||||
}
|
||||
|
||||
static void pdf_dlclose(void *handle)
|
||||
{
|
||||
(void) dllfree((dllhandle *) handle);
|
||||
}
|
||||
|
||||
/* ---------------------------------- Linux ----------------------------- */
|
||||
|
||||
#elif defined(linux)
|
||||
|
||||
#include <dlfcn.h>
|
||||
|
||||
#define PDF_DLLNAME "libpdf.so"
|
||||
|
||||
static void *
|
||||
pdf_dlopen(const char *filename)
|
||||
{
|
||||
return dlopen(filename, RTLD_LAZY);
|
||||
}
|
||||
|
||||
static void *
|
||||
pdf_dlsym(void *handle, const char *funcname)
|
||||
{
|
||||
return dlsym(handle, funcname);
|
||||
}
|
||||
|
||||
static void pdf_dlclose(void *handle)
|
||||
{
|
||||
(void) dlclose(handle);
|
||||
}
|
||||
|
||||
/* ---------------------------------- Mac OS X ----------------------------- */
|
||||
|
||||
#elif defined(__ppc__) && defined(__APPLE__)
|
||||
|
||||
#define PDF_DLLNAME "libpdf.dylib"
|
||||
|
||||
/*
|
||||
* The dl code for Mac OS X has been butchered from dlcompat,
|
||||
* see http://www.opendarwin.org/projects/dlcompat
|
||||
* It contained the copyright notice below.
|
||||
*/
|
||||
|
||||
/*
|
||||
Copyright (c) 2002 Peter O'Gorman <ogorman@users.sourceforge.net>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <mach-o/dyld.h>
|
||||
|
||||
#if defined (__GNUC__) && __GNUC__ > 3
|
||||
#define dl_restrict __restrict
|
||||
#else
|
||||
#define dl_restrict
|
||||
#endif
|
||||
/*
|
||||
* Structure filled in by dladdr().
|
||||
*/
|
||||
|
||||
typedef struct dl_info {
|
||||
const char *dli_fname; /* Pathname of shared object */
|
||||
void *dli_fbase; /* Base address of shared object */
|
||||
const char *dli_sname; /* Name of nearest symbol */
|
||||
void *dli_saddr; /* Address of nearest symbol */
|
||||
} Dl_info;
|
||||
|
||||
#define RTLD_LAZY 0x1
|
||||
#define RTLD_NOW 0x2
|
||||
#define RTLD_LOCAL 0x4
|
||||
#define RTLD_GLOBAL 0x8
|
||||
#define RTLD_NOLOAD 0x10
|
||||
#define RTLD_NODELETE 0x80
|
||||
|
||||
/*
|
||||
* Special handle arguments for dlsym().
|
||||
*/
|
||||
#define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */
|
||||
#define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */
|
||||
|
||||
static void *dlsymIntern(void *handle, const char *symbol);
|
||||
|
||||
void *pdf_dlopen(const char *path)
|
||||
{
|
||||
int mode = RTLD_LAZY;
|
||||
void *module = 0;
|
||||
NSObjectFileImage ofi = 0;
|
||||
NSObjectFileImageReturnCode ofirc;
|
||||
static int (*make_private_module_public) (NSModule module) = 0;
|
||||
unsigned int flags =
|
||||
NSLINKMODULE_OPTION_RETURN_ON_ERROR | NSLINKMODULE_OPTION_PRIVATE;
|
||||
|
||||
/* If we got no path, the app wants the global namespace, use -1 as the marker
|
||||
in this case */
|
||||
if (!path)
|
||||
return (void *)-1;
|
||||
|
||||
/* Create the object file image, works for things linked with the
|
||||
-bundle arg to ld */
|
||||
ofirc = NSCreateObjectFileImageFromFile(path, &ofi);
|
||||
switch (ofirc)
|
||||
{
|
||||
case NSObjectFileImageSuccess:
|
||||
/* It was okay, so use NSLinkModule to link in the image */
|
||||
if (!(mode & RTLD_LAZY)) flags += NSLINKMODULE_OPTION_BINDNOW;
|
||||
module = NSLinkModule(ofi, path,flags);
|
||||
/* Don't forget to destroy the object file image, unless you like leaks */
|
||||
NSDestroyObjectFileImage(ofi);
|
||||
/* If the mode was global, then change the module, this avoids
|
||||
multiply defined symbol errors to first load private then make
|
||||
global. Silly, isn't it. */
|
||||
if ((mode & RTLD_GLOBAL))
|
||||
{
|
||||
if (!make_private_module_public)
|
||||
{
|
||||
_dyld_func_lookup("__dyld_NSMakePrivateModulePublic",
|
||||
(unsigned long *)&make_private_module_public);
|
||||
}
|
||||
make_private_module_public(module);
|
||||
}
|
||||
break;
|
||||
case NSObjectFileImageInappropriateFile:
|
||||
/* It may have been a dynamic library rather than a bundle, try to load it */
|
||||
module =
|
||||
(void *)NSAddImage(path, NSADDIMAGE_OPTION_RETURN_ON_ERROR);
|
||||
break;
|
||||
case NSObjectFileImageFailure:
|
||||
/*
|
||||
error(0,"Object file setup failure : \"%s\"", path);
|
||||
*/
|
||||
return 0;
|
||||
case NSObjectFileImageArch:
|
||||
/*
|
||||
error(0,"No object for this architecture : \"%s\"", path);
|
||||
*/
|
||||
return 0;
|
||||
case NSObjectFileImageFormat:
|
||||
/*
|
||||
error(0,"Bad object file format : \"%s\"", path);
|
||||
*/
|
||||
return 0;
|
||||
case NSObjectFileImageAccess:
|
||||
/*
|
||||
error(0,"Can't read object file : \"%s\"", path);
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
if (!module)
|
||||
/*
|
||||
error(0, "Can not open \"%s\"", path);
|
||||
*/
|
||||
;
|
||||
|
||||
return module;
|
||||
}
|
||||
|
||||
/* dlsymIntern is used by dlsym to find the symbol */
|
||||
void *dlsymIntern(void *handle, const char *symbol)
|
||||
{
|
||||
NSSymbol *nssym = 0;
|
||||
/* If the handle is -1, if is the app global context */
|
||||
if (handle == (void *)-1)
|
||||
{
|
||||
/* Global context, use NSLookupAndBindSymbol */
|
||||
if (NSIsSymbolNameDefined(symbol))
|
||||
{
|
||||
nssym = NSLookupAndBindSymbol(symbol);
|
||||
}
|
||||
|
||||
}
|
||||
/* Now see if the handle is a struch mach_header* or not, use
|
||||
NSLookupSymbol in image for libraries, and NSLookupSymbolInModule
|
||||
for bundles */
|
||||
else
|
||||
{
|
||||
/* Check for both possible magic numbers depending on x86/ppc byte order */
|
||||
if ((((struct mach_header *)handle)->magic == MH_MAGIC) ||
|
||||
(((struct mach_header *)handle)->magic == MH_CIGAM))
|
||||
{
|
||||
if (NSIsSymbolNameDefinedInImage((struct mach_header *)handle, symbol))
|
||||
{
|
||||
nssym = NSLookupSymbolInImage((struct mach_header *)handle,
|
||||
symbol, NSLOOKUPSYMBOLINIMAGE_OPTION_BIND
|
||||
| NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
nssym = NSLookupSymbolInModule(handle, symbol);
|
||||
}
|
||||
}
|
||||
if (!nssym)
|
||||
{
|
||||
/*
|
||||
error(0, "Symbol \"%s\" Not found", symbol);
|
||||
*/
|
||||
return NULL;
|
||||
}
|
||||
return NSAddressOfSymbol(nssym);
|
||||
}
|
||||
|
||||
int pdf_dlclose(void *handle)
|
||||
{
|
||||
if ((((struct mach_header *)handle)->magic == MH_MAGIC) ||
|
||||
(((struct mach_header *)handle)->magic == MH_CIGAM))
|
||||
{
|
||||
/*
|
||||
error(-1, "Can't remove dynamic libraries on darwin");
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
if (!NSUnLinkModule(handle, 0))
|
||||
{
|
||||
/*
|
||||
error(0, "unable to unlink module %s", NSNameOfModule(handle));
|
||||
*/
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* dlsym, prepend the underscore and call dlsymIntern */
|
||||
void *pdf_dlsym(void *handle, const char *symbol)
|
||||
{
|
||||
static char undersym[257]; /* Saves calls to malloc(3) */
|
||||
int sym_len = strlen(symbol);
|
||||
void *value = NULL;
|
||||
char *malloc_sym = NULL;
|
||||
|
||||
if (sym_len < 256)
|
||||
{
|
||||
snprintf(undersym, 256, "_%s", symbol);
|
||||
value = dlsymIntern(handle, undersym);
|
||||
}
|
||||
else
|
||||
{
|
||||
malloc_sym = malloc(sym_len + 2);
|
||||
if (malloc_sym)
|
||||
{
|
||||
sprintf(malloc_sym, "_%s", symbol);
|
||||
value = dlsymIntern(handle, malloc_sym);
|
||||
free(malloc_sym);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
error(-1, "Unable to allocate memory");
|
||||
*/
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
/* ---------------------------------- AS/400 ----------------------------- */
|
||||
|
||||
#elif defined __ILEC400__
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <miptrnam.h>
|
||||
#include <qleawi.h>
|
||||
#include <qusec.h>
|
||||
#include "mgosifc.h"
|
||||
|
||||
#define PDF_DLLNAME "PDFLIB"
|
||||
|
||||
static void *
|
||||
pdf_dlopen(const char *filename)
|
||||
{
|
||||
char libName[11], objName[11], *s;
|
||||
HMODULE handle;
|
||||
_SYSPTR pSrvPgm;
|
||||
Qle_ABP_Info_t actInfo;
|
||||
int actInfoLen;
|
||||
Qus_EC_t errCode;
|
||||
|
||||
memset(libName, '\0', sizeof(libName));
|
||||
if ((s = strchr(filename, '/')) == NULL) {
|
||||
s = filename;
|
||||
} else {
|
||||
memcpy(libName, filename, s - filename);
|
||||
if (!strcmp(libName, "*LIBL"))
|
||||
libName[0] = '\0';
|
||||
s += 1;
|
||||
}
|
||||
strcpy(objName, s);
|
||||
|
||||
/* Get system pointer to service program */
|
||||
pSrvPgm = rslvsp(WLI_SRVPGM, objName, libName, _AUTH_NONE);
|
||||
|
||||
/* Activate Bound Program */
|
||||
handle = malloc(sizeof(int));
|
||||
actInfoLen = sizeof(actInfo);
|
||||
errCode.Bytes_Provided = sizeof(errCode);
|
||||
QleActBndPgm(&pSrvPgm, handle, &actInfo, &actInfoLen, &errCode);
|
||||
|
||||
if (errCode.Bytes_Available > 0)
|
||||
return NULL;
|
||||
|
||||
return (void *) handle;
|
||||
}
|
||||
|
||||
static void *
|
||||
pdf_dlsym(void *handle, const char *funcname)
|
||||
{
|
||||
int expID;
|
||||
int expNameLen;
|
||||
void *ret;
|
||||
int expType;
|
||||
Qus_EC_t errCode;
|
||||
|
||||
expID = 0;
|
||||
expNameLen = strlen(funcname);
|
||||
errCode.Bytes_Provided = sizeof(errCode);
|
||||
QleGetExp((HMODULE) handle,
|
||||
&expID, &expNameLen, funcname, &ret, &expType, &errCode);
|
||||
|
||||
if (errCode.Bytes_Available > 0)
|
||||
return NULL;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void pdf_dlclose(void *handle)
|
||||
{
|
||||
free((HMODULE) handle);
|
||||
}
|
||||
|
||||
/* ---------------------------------- unknown ----------------------------- */
|
||||
|
||||
#else
|
||||
|
||||
#error No DLL loading code for this platform available!
|
||||
|
||||
#endif
|
||||
|
||||
/* ---------------------------------- generic ----------------------------- */
|
||||
|
||||
static void
|
||||
pdf_dlerror(const char *msg)
|
||||
{
|
||||
#ifndef PDF_SILENT
|
||||
fprintf(stderr, msg);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Load the PDFlib DLL and fetch the API structure */
|
||||
|
||||
PDFLIB_API PDFlib_api * PDFLIB_CALL
|
||||
PDF_new_dl(PDF **pp)
|
||||
{
|
||||
PDFlib_api *PDFlib, *(PDFLIB_CALL *get_api)(void);
|
||||
char buf[256];
|
||||
void *handle;
|
||||
PDF *p;
|
||||
|
||||
/* load the PDFLIB DLL... */
|
||||
handle = pdf_dlopen(PDF_DLLNAME);
|
||||
|
||||
if (!handle)
|
||||
{
|
||||
pdf_dlerror("Error: couldn't load PDFlib DLL\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* ...and fetch function pointers */
|
||||
get_api = (PDFlib_api *(PDFLIB_CALL *)(void))
|
||||
pdf_dlsym(handle, "PDF_get_api");
|
||||
|
||||
if (get_api == NULL)
|
||||
{
|
||||
pdf_dlerror(
|
||||
"Error: couldn't find function PDF_get_api in PDFlib DLL\n");
|
||||
pdf_dlclose(handle);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Fetch the API structure and boot the library. */
|
||||
PDFlib = (*get_api)();
|
||||
|
||||
/*
|
||||
* Check the version number of the loaded DLL against that of
|
||||
* the included header file to avoid version mismatch.
|
||||
*/
|
||||
|
||||
if (PDFlib->sizeof_PDFlib_api != sizeof(PDFlib_api) ||
|
||||
PDFlib->major != PDFLIB_MAJORVERSION ||
|
||||
PDFlib->minor != PDFLIB_MINORVERSION) {
|
||||
sprintf(buf,
|
||||
"Error: loaded wrong version of PDFlib DLL\n"
|
||||
"Expected version %d.%d (API size %d), loaded %d.%d (API size %d)\n",
|
||||
PDFLIB_MAJORVERSION, PDFLIB_MINORVERSION, sizeof(PDFlib_api),
|
||||
PDFlib->major, PDFlib->minor, PDFlib->sizeof_PDFlib_api);
|
||||
pdf_dlerror(buf);
|
||||
pdf_dlclose(handle);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Boot the library. */
|
||||
PDFlib->PDF_boot();
|
||||
|
||||
/*
|
||||
* Create a new PDFlib object; use PDF_new2() so that we can store
|
||||
* the DLL handle within PDFlib and later retrieve it.
|
||||
*/
|
||||
if ((p = PDFlib->PDF_new2(NULL, NULL, NULL, NULL, handle)) == (PDF *) NULL)
|
||||
{
|
||||
pdf_dlerror("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Make the PDF * available to the client and return */
|
||||
*pp = p;
|
||||
return PDFlib;
|
||||
}
|
||||
|
||||
/* delete the PDFlib object and unload the previously loaded PDFlib DLL */
|
||||
|
||||
PDFLIB_API void PDFLIB_CALL
|
||||
PDF_delete_dl(PDFlib_api *PDFlib, PDF *p)
|
||||
{
|
||||
void *handle;
|
||||
|
||||
if (!PDFlib || !p)
|
||||
return;
|
||||
|
||||
/* fetch the DLL handle (previously stored in PDFlib) */
|
||||
handle = PDFlib->PDF_get_opaque(p);
|
||||
|
||||
if (!handle)
|
||||
return;
|
||||
|
||||
PDFlib->PDF_delete(p);
|
||||
PDFlib->PDF_shutdown();
|
||||
|
||||
pdf_dlclose(handle);
|
||||
}
|
63
src/libs/pdflib/bind/pdflib/c/pdflibdl.h
Normal file
63
src/libs/pdflib/bind/pdflib/c/pdflibdl.h
Normal file
@ -0,0 +1,63 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
| PDFlib - A library for generating PDF on the fly |
|
||||
+---------------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 Thomas Merz and PDFlib GmbH. All rights reserved. |
|
||||
+---------------------------------------------------------------------------+
|
||||
| |
|
||||
| This software is subject to the PDFlib license. It is NOT in the |
|
||||
| public domain. Extended versions and commercial licenses are |
|
||||
| available, please check http://www.pdflib.com. |
|
||||
| |
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
/* $Id: pdflibdl.h,v 1.1 2004/10/06 17:46:39 laplace Exp $
|
||||
*
|
||||
* Function prototypes for dynamically loading the PDFlib DLL at runtime
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define PDF PDF_c
|
||||
#endif
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Notes for using the PDFlib DLL loading mechanism:
|
||||
*
|
||||
* - PDF_TRY_DL()/PDF_CATCH_DL() must be used instead of the standard
|
||||
* exception handling macros.
|
||||
* - PDF_new_dl() must be used instead of PDF_boot() and PDF_new()/PDF_new2().
|
||||
* - PDF_delete_dl() must be used instead of PDF_delete() and PDF_shutdown().
|
||||
* - PDF_get_opaque() must not be used.
|
||||
*/
|
||||
|
||||
/* Load the PDFlib DLL, and fetch pointers to all exported functions. */
|
||||
PDFLIB_API PDFlib_api * PDFLIB_CALL
|
||||
PDF_new_dl(PDF **pp);
|
||||
|
||||
/* Unload the previously loaded PDFlib DLL (also calls PDF_shutdown()) */
|
||||
PDFLIB_API void PDFLIB_CALL
|
||||
PDF_delete_dl(PDFlib_api *PDFlib, PDF *p);
|
||||
|
||||
|
||||
#define PDF_TRY_DL(PDFlib, p) \
|
||||
if (p) { if (setjmp(PDFlib->pdf_jbuf(p)->jbuf) == 0)
|
||||
|
||||
/* Inform the exception machinery that a PDF_TRY() will be left without
|
||||
entering the corresponding PDF_CATCH( ) clause. */
|
||||
#define PDF_EXIT_TRY_DL(PDFlib, p) PDFlib->pdf_exit_try(p)
|
||||
|
||||
/* Catch an exception; must always be paired with PDF_TRY(). */
|
||||
#define PDF_CATCH_DL(PDFlib, p) } if (PDFlib->pdf_catch(p))
|
||||
|
||||
/* Re-throw an exception to another handler. */
|
||||
#define PDF_RETHROW_DL(PDFlib, p) PDFlib->pdf_rethrow(p)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
112
src/libs/pdflib/bind/pdflib/c/quickreference.c
Normal file
112
src/libs/pdflib/bind/pdflib/c/quickreference.c
Normal file
@ -0,0 +1,112 @@
|
||||
/* $Id: quickreference.c,v 1.1 2004/10/06 17:46:39 laplace Exp $
|
||||
*
|
||||
* PDFlib/PDI client: mini imposition demo
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
PDF *p;
|
||||
int manual, page;
|
||||
int font, row, col;
|
||||
const int maxrow = 2;
|
||||
const int maxcol = 2;
|
||||
char optlist[128];
|
||||
int startpage = 1, endpage = 4;
|
||||
const float width = 500, height = 770;
|
||||
int pageno;
|
||||
const char *infile = "reference.pdf";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
char *searchpath = "../data";
|
||||
|
||||
/* create a new PDFlib object */
|
||||
if ((p = PDF_new()) == (PDF *) 0)
|
||||
{
|
||||
printf("Couldn't create PDFlib object (out of memory)!\n");
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_TRY(p) {
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file(p, "quickreference.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter(p, "hypertextencoding", "host");
|
||||
|
||||
PDF_set_info(p, "Creator", "quickreference.c");
|
||||
PDF_set_info(p, "Author", "Thomas Merz");
|
||||
PDF_set_info(p, "Title", "mini imposition demo (C)");
|
||||
|
||||
manual = PDF_open_pdi(p, infile, "", 0);
|
||||
if (manual == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
row = 0;
|
||||
col = 0;
|
||||
|
||||
PDF_set_parameter(p, "topdown", "true");
|
||||
|
||||
for (pageno = startpage; pageno <= endpage; pageno++) {
|
||||
if (row == 0 && col == 0) {
|
||||
PDF_begin_page(p, width, height);
|
||||
font = PDF_load_font(p, "Helvetica-Bold", 0, "host", "");
|
||||
PDF_setfont(p, font, 18);
|
||||
PDF_set_text_pos(p, 24, 24);
|
||||
PDF_show(p, "PDFlib Quick Reference");
|
||||
}
|
||||
|
||||
page = PDF_open_pdi_page(p, manual, pageno, "");
|
||||
|
||||
if (page == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg(p));
|
||||
return(2);
|
||||
}
|
||||
|
||||
sprintf(optlist, "scale %f", (float) 1/maxrow);
|
||||
PDF_fit_pdi_page(p, page,
|
||||
width/maxcol*col, (row + 1) * height/maxrow, optlist);
|
||||
PDF_close_pdi_page(p, page);
|
||||
|
||||
col++;
|
||||
if (col == maxcol) {
|
||||
col = 0;
|
||||
row++;
|
||||
}
|
||||
if (row == maxrow) {
|
||||
row = 0;
|
||||
PDF_end_page(p);
|
||||
}
|
||||
}
|
||||
|
||||
/* finish the last partial page */
|
||||
if (row != 0 || col != 0)
|
||||
PDF_end_page(p);
|
||||
|
||||
PDF_close(p);
|
||||
PDF_close_pdi(p, manual);
|
||||
}
|
||||
|
||||
PDF_CATCH(p) {
|
||||
printf("PDFlib exception occurred in quickreference sample:\n");
|
||||
printf("[%d] %s: %s\n",
|
||||
PDF_get_errnum(p), PDF_get_apiname(p), PDF_get_errmsg(p));
|
||||
PDF_delete(p);
|
||||
return(2);
|
||||
}
|
||||
|
||||
PDF_delete(p);
|
||||
|
||||
return 0;
|
||||
}
|
107
src/libs/pdflib/bind/pdflib/c/quickreference.dsp
Normal file
107
src/libs/pdflib/bind/pdflib/c/quickreference.dsp
Normal file
@ -0,0 +1,107 @@
|
||||
# Microsoft Developer Studio Project File - Name="quickreference" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=quickreference - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "quickreference.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "quickreference.mak" CFG="quickreference - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "quickreference - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "quickreference - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "quickreference - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /out:"quickreference.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "quickreference - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "PDFLIB_STATIC" /D "_MT" /FR /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /machine:I386 /out:"quickreference.exe" /pdbtype:sept /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "quickreference - Win32 Release"
|
||||
# Name "quickreference - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\quickreference.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
3
src/libs/pdflib/bind/pdflib/c/readme.txt
Normal file
3
src/libs/pdflib/bind/pdflib/c/readme.txt
Normal file
@ -0,0 +1,3 @@
|
||||
Notes on the PDFlib C binding:
|
||||
|
||||
(none)
|
BIN
src/libs/pdflib/bind/pdflib/c/samples.mcp
Normal file
BIN
src/libs/pdflib/bind/pdflib/c/samples.mcp
Normal file
Binary file not shown.
81
src/libs/pdflib/bind/pdflib/cpp/Makefile
Normal file
81
src/libs/pdflib/bind/pdflib/cpp/Makefile
Normal file
@ -0,0 +1,81 @@
|
||||
# Makefile for PDFlib, C++ language binding
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
include $(top_builddir)/config/mkcommon.inc
|
||||
|
||||
DEPLIBS = $(PDFLIBLINK) pdflib$(LO)
|
||||
LIBS = $(DEPLIBS) $(STDCPP) $(EXTERNALLIBS)
|
||||
INCLUDES = $(PDFLIBINC)
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
FLAGS = $(LDFLAGS) $(CPPFLAGS) $(CFLAGS)
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
|
||||
SRC = \
|
||||
$(srcdir)/pdflib.cpp \
|
||||
$(srcdir)/hello.cpp \
|
||||
$(srcdir)/image.cpp \
|
||||
$(srcdir)/pdfclock.cpp \
|
||||
$(srcdir)/chartab.cpp \
|
||||
$(srcdir)/invoice.cpp \
|
||||
$(srcdir)/businesscard.cpp \
|
||||
$(srcdir)/quickreference.cpp \
|
||||
$(srcdir)/smoketest.cpp
|
||||
|
||||
PROGS = \
|
||||
hello$(EXE) \
|
||||
image$(EXE) \
|
||||
pdfclock$(EXE) \
|
||||
chartab$(EXE) \
|
||||
invoice$(EXE) \
|
||||
businesscard$(EXE) \
|
||||
quickreference$(EXE)
|
||||
|
||||
include $(top_builddir)/config/mkprogs.inc
|
||||
|
||||
|
||||
test:: $(PROGS)
|
||||
-./hello
|
||||
-./image
|
||||
-./pdfclock
|
||||
-./chartab
|
||||
-./invoice
|
||||
-./businesscard
|
||||
-./quickreference
|
||||
|
||||
smoke:: test smoketest$(EXE)
|
||||
-./smoketest
|
||||
|
||||
clean::
|
||||
$(RM) smoketest$(EXE) smoke_cpp_?.pdf
|
||||
$(RM) hello.pdf image.pdf pdfclock.pdf chartab.pdf invoice.pdf
|
||||
$(RM) businesscard.pdf quickreference.pdf
|
||||
|
||||
hello$(EXE): hello.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
image$(EXE): image.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
pdfclock$(EXE): pdfclock.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
chartab$(EXE): chartab.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
invoice$(EXE): invoice.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
businesscard$(EXE): businesscard.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
quickreference$(EXE): quickreference.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
smoketest$(EXE): smoketest.cpp $(DEPLIBS)
|
||||
$(CXXPROGS_BUILD)
|
||||
|
||||
pdflib$(LO): ./pdflib.cpp pdflib.hpp ../../../libs/pdflib/pdflib.h
|
||||
$(LIBTOOL_CC) $(CXX) -c $(CXXFLAGS) pdflib.cpp
|
96
src/libs/pdflib/bind/pdflib/cpp/businesscard.cpp
Normal file
96
src/libs/pdflib/bind/pdflib/cpp/businesscard.cpp
Normal file
@ -0,0 +1,96 @@
|
||||
// $Id: businesscard.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
// PDFlib client: hello example in C++
|
||||
//
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
try {
|
||||
PDFlib p; // the PDFlib object
|
||||
int i, blockcontainer, page;
|
||||
const string infile = "boilerplate.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.
|
||||
*
|
||||
* Note that this directory must also contain the LuciduxSans font
|
||||
* outline and metrics files.
|
||||
*/
|
||||
const string searchpath = "../data";
|
||||
struct blockdata {
|
||||
blockdata(string n, string v): name(n), value(v){}
|
||||
string name;
|
||||
string value;
|
||||
};
|
||||
|
||||
blockdata data[] = {
|
||||
blockdata("name", "Victor Kraxi"),
|
||||
blockdata("business.title", "Chief Paper Officer"),
|
||||
blockdata("business.address.line1", "17, Aviation Road"),
|
||||
blockdata("business.address.city", "Paperfield"),
|
||||
blockdata("business.telephone.voice","phone +1 234 567-89"),
|
||||
blockdata("business.telephone.fax", "fax +1 234 567-98"),
|
||||
blockdata("business.email", "victor@kraxi.com"),
|
||||
blockdata("business.homepage", "www.kraxi.com"),
|
||||
};
|
||||
|
||||
#define BLOCKCOUNT (sizeof(data)/sizeof(data[0]))
|
||||
|
||||
// open new PDF file
|
||||
if (p.open_file("businesscard.pdf") == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p.set_parameter("hypertextencoding", "host");
|
||||
|
||||
p.set_info("Creator", "businesscard.cpp");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title","PDFlib block processing sample (C++)");
|
||||
|
||||
blockcontainer = p.open_pdi(infile, "", 0);
|
||||
if (blockcontainer == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
page = p.open_pdi_page(blockcontainer, 1, "");
|
||||
if (page == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
p.begin_page(20, 20); // dummy page size
|
||||
|
||||
// This will adjust the page size to the block container's size.
|
||||
p.fit_pdi_page(page, 0, 0, "adjustpage");
|
||||
|
||||
// Fill all text blocks with dynamic data
|
||||
for (i = 0; i < (int) BLOCKCOUNT; i++) {
|
||||
if (p.fill_textblock(page, data[i].name, data[i].value,
|
||||
"embedding encoding=host") == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
p.end_page(); // close page
|
||||
p.close_pdi_page(page);
|
||||
|
||||
p.close(); // close PDF document
|
||||
p.close_pdi(blockcontainer);
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in businesscard sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 99;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/businesscard.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/businesscard.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="businesscard" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=businesscard - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "businesscard.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "businesscard.mak" CFG="businesscard - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "businesscard - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "businesscard - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "businesscard - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:5.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"release\businesscard.exe" /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "businesscard - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"businesscard.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "businesscard - Win32 Release"
|
||||
# Name "businesscard - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\businesscard.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
120
src/libs/pdflib/bind/pdflib/cpp/chartab.cpp
Normal file
120
src/libs/pdflib/bind/pdflib/cpp/chartab.cpp
Normal file
@ -0,0 +1,120 @@
|
||||
// $Id: chartab.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
// PDFlib client: chartab example in C++
|
||||
//
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
/* change these as required */
|
||||
const char *fontname = "LuciduxSans-Oblique";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
char *searchpath = "../data";
|
||||
|
||||
/* list of encodings to use */
|
||||
const char *encodings[] = { "iso8859-1", "iso8859-2", "iso8859-15" };
|
||||
|
||||
/* whether or not to embed the font */
|
||||
int embed = 1;
|
||||
|
||||
|
||||
char buf[256];
|
||||
float x, y;
|
||||
int row, col, font, page;
|
||||
|
||||
static const int ENCODINGS = 3;
|
||||
static const float FONTSIZE = 16;
|
||||
static const float TOP = 700;
|
||||
static const float LEFT = 50;
|
||||
static const float YINCR = 2*FONTSIZE;
|
||||
static const float XINCR = 2*FONTSIZE;
|
||||
|
||||
try {
|
||||
/* create a new PDFlib object */
|
||||
PDFlib p; // the PDFlib object
|
||||
|
||||
/* open new PDF file */
|
||||
if (p.open_file("chartab.pdf") == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
p.set_parameter("openaction", "fitpage");
|
||||
p.set_parameter("fontwarning", "true");
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p.set_parameter("hypertextencoding", "host");
|
||||
|
||||
p.set_info("Creator", "chartab.c");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Character table (C++)");
|
||||
|
||||
/* loop over all encodings */
|
||||
for (page = 0; page < ENCODINGS; page++)
|
||||
{
|
||||
p.begin_page(a4_width, a4_height); /* start a new page */
|
||||
|
||||
/* print the heading and generate the bookmark */
|
||||
// Change "host" encoding to "winansi" or whatever you need!
|
||||
font = p.load_font("Helvetica", "host", "");
|
||||
p.setfont(font, FONTSIZE);
|
||||
sprintf(buf, "%s (%s) %sembedded",
|
||||
fontname, encodings[page], embed ? "" : "not ");
|
||||
|
||||
p.show_xy(buf, LEFT - XINCR, TOP + 3 * YINCR);
|
||||
p.add_bookmark(buf, 0, 0);
|
||||
|
||||
/* print the row and column captions */
|
||||
p.setfont(font, 2 * FONTSIZE/3);
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
sprintf(buf, "x%X", row);
|
||||
p.show_xy(buf, LEFT + row*XINCR, TOP + YINCR);
|
||||
|
||||
sprintf(buf, "%Xx", row);
|
||||
p.show_xy(buf, LEFT - XINCR, TOP - row * YINCR);
|
||||
}
|
||||
|
||||
/* print the character table */
|
||||
font = p.load_font(fontname, encodings[page],
|
||||
embed ? "embedding": "");
|
||||
p.setfont(font, FONTSIZE);
|
||||
|
||||
y = TOP;
|
||||
x = LEFT;
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
for (col = 0; col < 16; col++) {
|
||||
sprintf(buf, "%c", 16*row + col);
|
||||
p.show_xy(buf, x, y);
|
||||
x += XINCR;
|
||||
}
|
||||
x = LEFT;
|
||||
y -= YINCR;
|
||||
}
|
||||
|
||||
p.end_page(); /* close page */
|
||||
}
|
||||
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in chartab sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/chartab.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/chartab.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="chartab" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=chartab - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "chartab.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "chartab.mak" CFG="chartab - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "chartab - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "chartab - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "chartab - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:5.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"release\chartab.exe" /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "chartab - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"chartab.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "chartab - Win32 Release"
|
||||
# Name "chartab - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\chartab.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
101
src/libs/pdflib/bind/pdflib/cpp/examples_cpp.dsw
Normal file
101
src/libs/pdflib/bind/pdflib/cpp/examples_cpp.dsw
Normal file
@ -0,0 +1,101 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "businesscard"=".\businesscard.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "chartab"=".\chartab.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "hello"=".\hello.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "image"=".\image.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "invoice"=".\invoice.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "pdfclock"=".\pdfclock.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "quickreference"=".\quickreference.dsp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
51
src/libs/pdflib/bind/pdflib/cpp/hello.cpp
Normal file
51
src/libs/pdflib/bind/pdflib/cpp/hello.cpp
Normal file
@ -0,0 +1,51 @@
|
||||
// $Id: hello.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
// PDFlib client: hello example in C++
|
||||
//
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
try {
|
||||
int font;
|
||||
PDFlib p; // the PDFlib object
|
||||
|
||||
// open new PDF file
|
||||
if (p.open_file("hello.pdf") == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p.set_parameter("hypertextencoding", "host");
|
||||
|
||||
p.set_info("Creator", "hello.cpp");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Hello, world (C++)!");
|
||||
|
||||
// start a new page
|
||||
p.begin_page((float) a4_width, (float) a4_height);
|
||||
|
||||
// Change "host" encoding to "winansi" or whatever you need!
|
||||
font = p.load_font("Helvetica-Bold", "host", "");
|
||||
|
||||
p.setfont(font, 24);
|
||||
p.set_text_pos(50, 700);
|
||||
p.show("Hello, world!");
|
||||
p.continue_text("(says C++)");
|
||||
p.end_page(); // close page
|
||||
p.close(); // close PDF document
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in hello sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/hello.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/hello.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="hello" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=hello - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "hello.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "hello.mak" CFG="hello - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "hello - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "hello - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "hello - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:5.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"release\hello.exe" /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "hello - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"hello.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "hello - Win32 Release"
|
||||
# Name "hello - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\hello.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
60
src/libs/pdflib/bind/pdflib/cpp/image.cpp
Normal file
60
src/libs/pdflib/bind/pdflib/cpp/image.cpp
Normal file
@ -0,0 +1,60 @@
|
||||
// $Id: image.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
// PDFlib client: image example in C++
|
||||
//
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
try {
|
||||
PDFlib *p; // pointer to the PDFlib class
|
||||
int image;
|
||||
char *imagefile = (char *) "nesrin.jpg";
|
||||
// This is where font/image/PDF input files live. Adjust as necessary.
|
||||
char *searchpath = (char *) "../data";
|
||||
|
||||
p = new PDFlib();
|
||||
|
||||
// Open new PDF file
|
||||
if (p->open_file("image.pdf") == -1) {
|
||||
cerr << "Error: " << p->get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
p->set_parameter("SearchPath", searchpath);
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p->set_parameter("hypertextencoding", "host");
|
||||
|
||||
p->set_info("Creator", "image.cpp");
|
||||
p->set_info("Author", "Thomas Merz");
|
||||
p->set_info("Title", "image sample (C++)!");
|
||||
|
||||
image = p->load_image("auto", imagefile, "");
|
||||
|
||||
if (image == -1) {
|
||||
cerr << "Error: " << p->get_errmsg() << endl;
|
||||
exit(3);
|
||||
}
|
||||
|
||||
// dummy page size, will be adjusted by PDF_fit_image()
|
||||
p->begin_page(10, 10);
|
||||
p->fit_image(image, (float) 0.0,(float) 0.0, "adjustpage");
|
||||
p->close_image(image);
|
||||
p->end_page(); // close page
|
||||
|
||||
p->close(); // close PDF document
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in hello sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/image.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/image.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="image" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=image - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "image.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "image.mak" CFG="image - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "image - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "image - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "image - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:4.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /machine:I386 /out:"release\image.exe" /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "image - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /machine:I386 /out:"hello.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "image - Win32 Release"
|
||||
# Name "image - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\image.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
194
src/libs/pdflib/bind/pdflib/cpp/invoice.cpp
Normal file
194
src/libs/pdflib/bind/pdflib/cpp/invoice.cpp
Normal file
@ -0,0 +1,194 @@
|
||||
// $Id: invoice.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
// PDFlib client: invoice example in C++
|
||||
//
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#if !defined(WIN32) && !defined(MAC)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
try {
|
||||
int i, form, page, regularfont, boldfont;
|
||||
string infile = "stationery.pdf";
|
||||
// This is where font/image/PDF input files live. Adjust as necessary.
|
||||
string searchpath = "../data";
|
||||
const float col1 = 55;
|
||||
const float col2 = 100;
|
||||
const float col3 = 330;
|
||||
const float col4 = 430;
|
||||
const float col5 = 530;
|
||||
time_t timer;
|
||||
struct tm ltime;
|
||||
float fontsize = 12, leading, y;
|
||||
float sum, total;
|
||||
float pagewidth = 595, pageheight = 842;
|
||||
char buf[128];
|
||||
PDFlib p;
|
||||
string closingtext =
|
||||
"30 days warranty starting at the day of sale. "
|
||||
"This warranty covers defects in workmanship only. "
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the "
|
||||
"product under the warranty. This warranty is not transferable. "
|
||||
"No returns or exchanges will be accepted for wet products.";
|
||||
|
||||
struct articledata {
|
||||
articledata(string n, float pr, int q):
|
||||
name(n), price(pr), quantity(q){}
|
||||
string name;
|
||||
float price;
|
||||
int quantity;
|
||||
};
|
||||
|
||||
articledata data[] = {
|
||||
articledata("Super Kite", 20, 2),
|
||||
articledata("Turbo Flyer", 40, 5),
|
||||
articledata("Giga Trash", 180, 1),
|
||||
articledata("Bare Bone Kit", 50, 3),
|
||||
articledata("Nitty Gritty", 20, 10),
|
||||
articledata("Pretty Dark Flyer", 75, 1),
|
||||
articledata("Free Gift", 0, 1),
|
||||
};
|
||||
|
||||
#define ARTICLECOUNT (sizeof(data)/sizeof(data[0]))
|
||||
|
||||
static const string months[] = {
|
||||
"January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December"
|
||||
};
|
||||
|
||||
|
||||
// open new PDF file
|
||||
if (p.open_file("invoice.pdf") == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p.set_parameter("hypertextencoding", "host");
|
||||
|
||||
p.set_info("Creator", "invoice.cpp");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "PDFlib invoice generation demo (C++)");
|
||||
|
||||
form = p.open_pdi(infile, "", 0);
|
||||
if (form == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
page = p.open_pdi_page(form, 1, "");
|
||||
if (page == -1) {
|
||||
cerr << "Error: " << p.get_errmsg() << endl;
|
||||
return(2);
|
||||
}
|
||||
|
||||
boldfont = p.load_font("Helvetica-Bold", "host", "");
|
||||
regularfont = p.load_font("Helvetica", "host", "");
|
||||
leading = fontsize + 2;
|
||||
|
||||
// Establish coordinates with the origin in the upper left corner.
|
||||
p.set_parameter("topdown", "true");
|
||||
|
||||
p.begin_page(pagewidth, pageheight); // A4 page
|
||||
|
||||
p.fit_pdi_page(page, 0, pageheight, "");
|
||||
p.close_pdi_page(page);
|
||||
|
||||
p.setfont(regularfont, 12);
|
||||
|
||||
// Print the address
|
||||
y = 170;
|
||||
p.set_value("leading", leading);
|
||||
|
||||
p.show_xy("John Q. Doe", col1, y);
|
||||
p.continue_text("255 Customer Lane");
|
||||
p.continue_text("Suite B");
|
||||
p.continue_text("12345 User Town");
|
||||
p.continue_text("Everland");
|
||||
|
||||
// Print the header and date
|
||||
|
||||
p.setfont(boldfont, 12);
|
||||
y = 300;
|
||||
p.show_xy("INVOICE", col1, y);
|
||||
|
||||
time(&timer);
|
||||
ltime = *localtime(&timer);
|
||||
sprintf(buf, "%s %d, %d", months[ltime.tm_mon].c_str(),
|
||||
ltime.tm_mday, ltime.tm_year + 1900);
|
||||
p.fit_textline(buf, col5, y, "position {100 0}");
|
||||
|
||||
// Print the invoice header line
|
||||
p.setfont(boldfont, 12);
|
||||
|
||||
// "position {0 0}" is left-aligned, "position {100 0}" right-aligned
|
||||
y = 370;
|
||||
p.fit_textline("ITEM", col1, y, "position {0 0}");
|
||||
p.fit_textline("DESCRIPTION", col2, y, "position {0 0}");
|
||||
p.fit_textline("QUANTITY", col3, y, "position {100 0}");
|
||||
p.fit_textline("PRICE", col4, y, "position {100 0}");
|
||||
p.fit_textline("AMOUNT", col5, y, "position {100 0}");
|
||||
|
||||
// Print the article list
|
||||
|
||||
p.setfont(regularfont, 12);
|
||||
y += 2*leading;
|
||||
total = 0;
|
||||
|
||||
for (i = 0; i < (int)ARTICLECOUNT; i++) {
|
||||
sprintf(buf, "%d", i+1);
|
||||
p.show_xy(buf, col1, y);
|
||||
|
||||
p.show_xy(data[i].name, col2, y);
|
||||
|
||||
sprintf(buf, "%d", data[i].quantity);
|
||||
p.fit_textline(buf, col3, y, "position {100 0}");
|
||||
|
||||
sprintf(buf, "%.2f", data[i].price);
|
||||
p.fit_textline(buf, col4, y, "position {100 0}");
|
||||
|
||||
sum = data[i].price * data[i].quantity;
|
||||
sprintf(buf, "%.2f", sum);
|
||||
p.fit_textline(buf, col5, y, "position {100 0}");
|
||||
|
||||
y += leading;
|
||||
total += sum;
|
||||
}
|
||||
|
||||
y += leading;
|
||||
p.setfont(boldfont, 12);
|
||||
sprintf(buf, "%.2f", total);
|
||||
p.fit_textline(buf, col5, y, "position {100 0}");
|
||||
|
||||
// Print the closing text
|
||||
|
||||
y += 5*leading;
|
||||
p.setfont(regularfont, 12);
|
||||
p.set_value("leading", leading);
|
||||
p.show_boxed(closingtext,
|
||||
col1, y + 4*leading, col5-col1, 4*leading, "justify", "");
|
||||
|
||||
p.end_page();
|
||||
p.close();
|
||||
p.close_pdi(form);
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in invoice sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/invoice.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/invoice.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="invoice" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=invoice - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "invoice.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "invoice.mak" CFG="invoice - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "invoice - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "invoice - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "invoice - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:5.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"release\invoice.exe" /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "invoice - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /machine:I386 /out:"invoice.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:5.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "invoice - Win32 Release"
|
||||
# Name "invoice - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\invoice.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
126
src/libs/pdflib/bind/pdflib/cpp/pdfclock.cpp
Normal file
126
src/libs/pdflib/bind/pdflib/cpp/pdfclock.cpp
Normal file
@ -0,0 +1,126 @@
|
||||
// $Id: pdfclock.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
// A little PDFlib application to draw an analog clock.
|
||||
//
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#if !defined(WIN32) && !defined(MAC)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
#define RADIUS 200.0f
|
||||
#define MARGIN 20.0f
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
try {
|
||||
PDFlib *p;
|
||||
float alpha;
|
||||
time_t timer;
|
||||
struct tm ltime;
|
||||
|
||||
// Create a new PDFlib object
|
||||
p = new PDFlib();
|
||||
|
||||
// Open new PDF file
|
||||
if (p->open_file("pdfclock.pdf") == -1) {
|
||||
cerr << "Error: " << p->get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p->set_parameter("hypertextencoding", "host");
|
||||
|
||||
p->set_info("Creator", "pdfclock.cpp");
|
||||
p->set_info("Author", "Thomas Merz");
|
||||
p->set_info("Title", "PDF clock (C++)");
|
||||
|
||||
p->begin_page((unsigned int) (2 * (RADIUS + MARGIN)),
|
||||
(unsigned int) (2 * (RADIUS + MARGIN)));
|
||||
|
||||
p->translate(RADIUS + MARGIN, RADIUS + MARGIN);
|
||||
p->setcolor("fillstroke", "rgb", 0, 0, 1, 0);
|
||||
p->save();
|
||||
|
||||
// minute strokes
|
||||
p->setlinewidth(2);
|
||||
for (alpha = 0; alpha < 360; alpha += 6)
|
||||
{
|
||||
p->rotate(6);
|
||||
p->moveto(RADIUS, 0);
|
||||
p->lineto((float) (RADIUS-MARGIN/3), 0);
|
||||
p->stroke();
|
||||
}
|
||||
|
||||
p->restore();
|
||||
p->save();
|
||||
|
||||
// 5 minute strokes
|
||||
p->setlinewidth(3);
|
||||
for (alpha = 0; alpha < 360; alpha += 30)
|
||||
{
|
||||
p->rotate(30);
|
||||
p->moveto(RADIUS, 0);
|
||||
p->lineto(RADIUS-MARGIN, 0);
|
||||
p->stroke();
|
||||
}
|
||||
|
||||
time(&timer);
|
||||
ltime = *localtime(&timer);
|
||||
|
||||
// draw hour hand
|
||||
p->save();
|
||||
p->rotate(
|
||||
(float)(-((ltime.tm_min/60) + ltime.tm_hour - 3.0) * 30));
|
||||
p->moveto(-RADIUS/10, -RADIUS/20);
|
||||
p->lineto(RADIUS/2, 0);
|
||||
p->lineto(-RADIUS/10, RADIUS/20);
|
||||
p->closepath();
|
||||
p->fill();
|
||||
p->restore();
|
||||
|
||||
// draw minute hand
|
||||
p->save();
|
||||
p->rotate((float) (-((ltime.tm_sec/60.0) + ltime.tm_min - 15.0) * 6.0));
|
||||
p->moveto(-RADIUS/10, -RADIUS/20);
|
||||
p->lineto(RADIUS * 0.8, 0);
|
||||
p->lineto(-RADIUS/10, RADIUS/20);
|
||||
p->closepath();
|
||||
p->fill();
|
||||
p->restore();
|
||||
|
||||
// draw second hand
|
||||
p->setcolor("fillstroke", "rgb", 1, 0, 0, 0);
|
||||
p->setlinewidth(2);
|
||||
p->save();
|
||||
p->rotate((float) -((ltime.tm_sec - 15) * 6));
|
||||
p->moveto(-RADIUS/5, 0);
|
||||
p->lineto(RADIUS, 0);
|
||||
p->stroke();
|
||||
p->restore();
|
||||
|
||||
// draw little circle at center
|
||||
p->circle(0, 0, (float) RADIUS/30);
|
||||
p->fill();
|
||||
|
||||
p->restore();
|
||||
|
||||
p->end_page();
|
||||
|
||||
p->close();
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in pdfclock sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/pdfclock.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/pdfclock.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="pdfclock" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=pdfclock - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "pdfclock.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "pdfclock.mak" CFG="pdfclock - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "pdfclock - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "pdfclock - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "pdfclock - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:4.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /machine:I386 /out:"release\pdfclock.exe"/libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "pdfclock - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /machine:I386 /out:"hello.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "pdfclock - Win32 Release"
|
||||
# Name "pdfclock - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdfclock.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
1299
src/libs/pdflib/bind/pdflib/cpp/pdflib.cpp
Normal file
1299
src/libs/pdflib/bind/pdflib/cpp/pdflib.cpp
Normal file
File diff suppressed because it is too large
Load Diff
312
src/libs/pdflib/bind/pdflib/cpp/pdflib.hpp
Normal file
312
src/libs/pdflib/bind/pdflib/cpp/pdflib.hpp
Normal file
@ -0,0 +1,312 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
| PDFlib - A library for generating PDF on the fly |
|
||||
+---------------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2004 Thomas Merz and PDFlib GmbH. All rights reserved. |
|
||||
+---------------------------------------------------------------------------+
|
||||
| |
|
||||
| This software is subject to the PDFlib license. It is NOT in the |
|
||||
| public domain. Extended versions and commercial licenses are |
|
||||
| available, please check http://www.pdflib.com. |
|
||||
| |
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
// $Id: pdflib.hpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
//
|
||||
// in sync with pdflib.h 1.151.2.22
|
||||
//
|
||||
// C++ wrapper for PDFlib
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef PDFLIB_HPP
|
||||
#define PDFLIB_HPP
|
||||
|
||||
#include <string>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// We use PDF as a C++ class name, therefore hide the actual C struct
|
||||
// name for PDFlib usage with C++.
|
||||
|
||||
#define PDF_THROWS_CPP_EXCEPTIONS
|
||||
|
||||
#include "pdflib.h"
|
||||
|
||||
|
||||
#ifdef PDF_THROWS_CPP_EXCEPTIONS
|
||||
#define PDF_THROWS(x) throw (x)
|
||||
#define PDF_THROWS_NOTHING throw ()
|
||||
#else
|
||||
#define PDFlib PDF
|
||||
#define PDF_THROWS(x)
|
||||
#define PDF_THROWS_NOTHING
|
||||
#endif
|
||||
|
||||
|
||||
// The C++ class wrapper for PDFlib
|
||||
|
||||
class PDFlib {
|
||||
public:
|
||||
#ifdef PDF_THROWS_CPP_EXCEPTIONS
|
||||
class Exception
|
||||
{
|
||||
public:
|
||||
Exception(string errmsg, int errnum, string apiname, void *opaque);
|
||||
string get_message();
|
||||
string get_errmsg();
|
||||
int get_errnum();
|
||||
string get_apiname();
|
||||
const void *get_opaque();
|
||||
private:
|
||||
string m_errmsg;
|
||||
int m_errnum;
|
||||
string m_apiname;
|
||||
void * m_opaque;
|
||||
}; // Exception
|
||||
|
||||
PDFlib(errorproc_t errorproc = NULL,
|
||||
allocproc_t allocproc = NULL,
|
||||
reallocproc_t reallocproc = NULL,
|
||||
freeproc_t freeproc = NULL,
|
||||
void *opaque = NULL) PDF_THROWS(Exception);
|
||||
|
||||
PDFlib(allocproc_t allocproc,
|
||||
reallocproc_t reallocproc,
|
||||
freeproc_t freeproc,
|
||||
void *opaque = NULL) PDF_THROWS(Exception);
|
||||
|
||||
#else // PDF_THROWS_CPP_EXCEPTIONS
|
||||
|
||||
PDFlib(errorproc_t errorproc = NULL,
|
||||
allocproc_t allocproc = NULL,
|
||||
reallocproc_t reallocproc = NULL,
|
||||
freeproc_t freeproc = NULL,
|
||||
void *opaque = NULL);
|
||||
|
||||
#endif // PDF_THROWS_CPP_EXCEPTIONS
|
||||
|
||||
~PDFlib() PDF_THROWS_NOTHING;
|
||||
|
||||
/* p_annots.c */
|
||||
void add_launchlink(float llx, float lly, float urx, float ury,
|
||||
string filename) PDF_THROWS(PDFlib::Exception);
|
||||
void add_locallink(float llx, float lly, float urx, float ury,
|
||||
int page, string optlist) PDF_THROWS(PDFlib::Exception);
|
||||
void add_note(float llx, float lly, float urx, float ury,
|
||||
string contents, string title, string icon, bool open)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void add_pdflink(float llx, float lly, float urx, float ury,
|
||||
string filename, int page,
|
||||
string optlist) PDF_THROWS(PDFlib::Exception);
|
||||
void add_weblink(float llx, float lly, float urx, float ury, string url)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void attach_file(float llx, float lly, float urx, float ury,
|
||||
string filename, string description, string author,
|
||||
string mimetype, string icon) PDF_THROWS(PDFlib::Exception);
|
||||
void set_border_color(float red, float green, float blue)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void set_border_dash(float b, float w) PDF_THROWS(PDFlib::Exception);
|
||||
void set_border_style(string style, float width)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_basic.c */
|
||||
void begin_page(float width, float height) PDF_THROWS(PDFlib::Exception);
|
||||
void close() PDF_THROWS(PDFlib::Exception);
|
||||
void end_page() PDF_THROWS(PDFlib::Exception);
|
||||
string get_apiname() PDF_THROWS(PDFlib::Exception);
|
||||
const char *get_buffer(long *size) PDF_THROWS(PDFlib::Exception);
|
||||
string get_errmsg() PDF_THROWS(PDFlib::Exception);
|
||||
int get_errnum() PDF_THROWS(PDFlib::Exception);
|
||||
int get_majorversion() PDF_THROWS_NOTHING;
|
||||
int get_minorversion() PDF_THROWS_NOTHING;
|
||||
void * get_opaque() PDF_THROWS(PDFlib::Exception);
|
||||
// Overloaded generic open and close methods
|
||||
int open(string filename) PDF_THROWS(PDFlib::Exception);
|
||||
int open(FILE *fp) PDF_THROWS(PDFlib::Exception);
|
||||
void open(writeproc_t writeproc) PDF_THROWS(PDFlib::Exception);
|
||||
int open_fp(FILE *fp) PDF_THROWS(PDFlib::Exception);
|
||||
int open_file(string filename) PDF_THROWS(PDFlib::Exception);
|
||||
void open_mem(writeproc_t writeproc) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_block.c */
|
||||
int fill_imageblock(int page, string blockname, int image, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int fill_pdfblock(int page, string blockname, int contents, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int fill_textblock(int page, string blockname, string text, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_color.c */
|
||||
int makespotcolor(string spotname, int reserved)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void setcolor(string fstype, string colorspace,
|
||||
float c1, float c2, float c3, float c4) PDF_THROWS(PDFlib::Exception);
|
||||
void setgray(float g) PDF_THROWS(PDFlib::Exception);
|
||||
void setgray_fill(float g) PDF_THROWS(PDFlib::Exception);
|
||||
void setgray_stroke(float g) PDF_THROWS(PDFlib::Exception);
|
||||
void setrgbcolor(float red, float green, float blue)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void setrgbcolor_fill(float red, float green, float blue)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void setrgbcolor_stroke(float red, float green, float blue)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_draw.c */
|
||||
void arc(float x, float y, float r, float alpha, float beta)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void arcn(float x, float y, float r, float alpha, float beta)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void circle(float x, float y, float r) PDF_THROWS(PDFlib::Exception);
|
||||
void clip() PDF_THROWS(PDFlib::Exception);
|
||||
void closepath() PDF_THROWS(PDFlib::Exception);
|
||||
void closepath_fill_stroke() PDF_THROWS(PDFlib::Exception);
|
||||
void closepath_stroke() PDF_THROWS(PDFlib::Exception);
|
||||
void curveto(float x1, float y1, float x2, float y2, float x3, float y3)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void endpath() PDF_THROWS(PDFlib::Exception);
|
||||
void fill() PDF_THROWS(PDFlib::Exception);
|
||||
void fill_stroke() PDF_THROWS(PDFlib::Exception);
|
||||
void lineto(float x, float y) PDF_THROWS(PDFlib::Exception);
|
||||
void moveto(float x, float y) PDF_THROWS(PDFlib::Exception);
|
||||
void rect(float x, float y, float width, float height)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void stroke() PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_encoding.c */
|
||||
void encoding_set_char(string encoding, int slot, string glyphname,
|
||||
int uv) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_font.c */
|
||||
int findfont(string fontname, string encoding, int embed)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int load_font(string fontname, string encoding, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void setfont(int font, float fontsize) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_gstate.c */
|
||||
void concat(float a, float b, float c, float d, float e, float f)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void initgraphics() PDF_THROWS(PDFlib::Exception);
|
||||
void restore() PDF_THROWS(PDFlib::Exception);
|
||||
void rotate(float phi) PDF_THROWS(PDFlib::Exception);
|
||||
void save() PDF_THROWS(PDFlib::Exception);
|
||||
void scale(float sx, float sy) PDF_THROWS(PDFlib::Exception);
|
||||
void setdash(float b, float w) PDF_THROWS(PDFlib::Exception);
|
||||
void setdashpattern(string optlist) PDF_THROWS(PDFlib::Exception);
|
||||
void setflat(float flatness) PDF_THROWS(PDFlib::Exception);
|
||||
void setlinecap(int linecap) PDF_THROWS(PDFlib::Exception);
|
||||
void setlinejoin(int linejoin) PDF_THROWS(PDFlib::Exception);
|
||||
void setlinewidth(float width) PDF_THROWS(PDFlib::Exception);
|
||||
void setmatrix(float a, float b, float c, float d, float e, float f)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void setmiterlimit(float miter) PDF_THROWS(PDFlib::Exception);
|
||||
void setpolydash(float *darray, int length) PDF_THROWS(PDFlib::Exception);
|
||||
void skew(float alpha, float beta) PDF_THROWS(PDFlib::Exception);
|
||||
void translate(float tx, float ty) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_hyper.c */
|
||||
int add_bookmark(string text, int parent, bool open)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void add_nameddest (string name, string optlist) PDF_THROWS(PDFlib::Exception);
|
||||
void set_info(string key, string value) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_icc.c */
|
||||
int load_iccprofile(string profilename, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_image.c */
|
||||
void add_thumbnail(int image) PDF_THROWS(PDFlib::Exception);
|
||||
void close_image(int image) PDF_THROWS(PDFlib::Exception);
|
||||
void fit_image (int image, float x, float y, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int load_image (string imagetype, string filename, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int open_CCITT(string filename, int width, int height,
|
||||
bool BitReverse, int K, bool BlackIs1) PDF_THROWS(PDFlib::Exception);
|
||||
int open_image(string imagetype, string source, const char *data,
|
||||
long len, int width, int height, int components, int bpc,
|
||||
string params) PDF_THROWS(PDFlib::Exception);
|
||||
int open_image_file(string imagetype, string filename,
|
||||
string stringparam, int intparam) PDF_THROWS(PDFlib::Exception);
|
||||
void place_image(int image, float x, float y, float scale)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_params.c */
|
||||
string get_parameter(string key, float modifier)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
float get_value(string key, float modifier) PDF_THROWS(PDFlib::Exception);
|
||||
void set_parameter(string key, string value) PDF_THROWS(PDFlib::Exception);
|
||||
void set_value(string key, float value) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_pattern.c */
|
||||
int begin_pattern(float width, float height, float xstep, float ystep,
|
||||
int painttype) PDF_THROWS(PDFlib::Exception);
|
||||
void end_pattern() PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_pdi.c */
|
||||
void close_pdi(int doc) PDF_THROWS(PDFlib::Exception);
|
||||
void close_pdi_page(int page) PDF_THROWS(PDFlib::Exception);
|
||||
void fit_pdi_page (int page, float x, float y, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
string get_pdi_parameter(string key, int doc, int page, int reserved,
|
||||
int *len) PDF_THROWS(PDFlib::Exception);
|
||||
float get_pdi_value(string key, int doc, int page, int reserved)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int open_pdi(string filename, string stringparam, int reserved)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int open_pdi_page(int doc, int pagenumber, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void place_pdi_page(int page, float x, float y, float sx, float sy)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int process_pdi(int doc, int page, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_resource.c */
|
||||
void create_pvf(string filename, void *data, size_t size, string options)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int delete_pvf(string filename) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_shading.c */
|
||||
int shading (string shtype, float x0, float y0, float x1, float y1,
|
||||
float c1, float c2, float c3, float c4, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
int shading_pattern (int shading, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void shfill (int shading) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_template.c */
|
||||
int begin_template(float width, float height) PDF_THROWS(PDFlib::Exception);
|
||||
void end_template() PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_text.c */
|
||||
void continue_text(string text) PDF_THROWS(PDFlib::Exception);
|
||||
void fit_textline(string text, float x, float y, string optlist)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void set_text_pos(float x, float y) PDF_THROWS(PDFlib::Exception);
|
||||
void show(string text) PDF_THROWS(PDFlib::Exception);
|
||||
int show_boxed(string text, float left, float top,
|
||||
float width, float height, string hmode, string feature)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
void show_xy(string text, float x, float y) PDF_THROWS(PDFlib::Exception);
|
||||
float stringwidth(string text, int font, float fontsize)
|
||||
PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_type3.c */
|
||||
void begin_font(string fontname, float a, float b, float c, float d,
|
||||
float e, float f, string optlist) PDF_THROWS(PDFlib::Exception);
|
||||
void begin_glyph(string glyphname, float wx, float llx, float lly,
|
||||
float urx, float ury) PDF_THROWS(PDFlib::Exception);
|
||||
void end_font() PDF_THROWS(PDFlib::Exception);
|
||||
void end_glyph() PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
/* p_xgstate.c */
|
||||
int create_gstate (string optlist) PDF_THROWS(PDFlib::Exception);
|
||||
void set_gstate(int gstate) PDF_THROWS(PDFlib::Exception);
|
||||
|
||||
|
||||
private:
|
||||
PDF *p;
|
||||
const PDFlib_api *m_PDFlib_api;
|
||||
};
|
||||
|
||||
#endif // PDFLIB_HPP
|
102
src/libs/pdflib/bind/pdflib/cpp/quickreference.cpp
Normal file
102
src/libs/pdflib/bind/pdflib/cpp/quickreference.cpp
Normal file
@ -0,0 +1,102 @@
|
||||
// $Id: quickreference.cpp,v 1.1 2004/10/06 17:46:40 laplace Exp $
|
||||
//
|
||||
// PDFlib/PDI client: mini imposition demo
|
||||
//
|
||||
#include <iostream>
|
||||
|
||||
#include "pdflib.hpp"
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
try {
|
||||
PDFlib *p; // pointer to the PDFlib class
|
||||
int manual, page;
|
||||
int font, row, col;
|
||||
const int maxrow = 2;
|
||||
const int maxcol = 2;
|
||||
char optlist[128];
|
||||
int startpage = 1, endpage = 4;
|
||||
const float width = 500, height = 770;
|
||||
int pageno;
|
||||
const string infile = "reference.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
const string searchpath = "../data";
|
||||
|
||||
p = new PDFlib();
|
||||
|
||||
// open new PDF file
|
||||
if (p->open_file("quickreference.pdf") == -1) {
|
||||
cerr << "Error: " << p->get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
p->set_parameter("SearchPath", searchpath);
|
||||
|
||||
// This line is required to avoid problems on Japanese systems
|
||||
p->set_parameter("hypertextencoding", "host");
|
||||
|
||||
p->set_info("Creator", "quickreference.cpp");
|
||||
p->set_info("Author", "Thomas Merz");
|
||||
p->set_info("Title", "mini imposition demo (C++)");
|
||||
|
||||
manual = p->open_pdi(infile, "", 0);
|
||||
if (manual == -1) {
|
||||
cerr << "Error: " << p->get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
row = 0;
|
||||
col = 0;
|
||||
|
||||
p->set_parameter("topdown", "true");
|
||||
|
||||
for (pageno = startpage; pageno <= endpage; pageno++) {
|
||||
if (row == 0 && col == 0) {
|
||||
p->begin_page(width, height);
|
||||
font = p->load_font("Helvetica-Bold", "host", "");
|
||||
p->setfont(font, 18);
|
||||
p->set_text_pos(24, 24);
|
||||
p->show("PDFlib Quick Reference");
|
||||
}
|
||||
|
||||
page = p->open_pdi_page(manual, pageno, "");
|
||||
|
||||
if (page == -1) {
|
||||
cerr << "Error: " << p->get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
sprintf(optlist, "scale %f", (float) 1/maxrow);
|
||||
p->fit_pdi_page(page, width/maxcol*col,
|
||||
(row + 1) * height/maxrow, optlist);
|
||||
p->close_pdi_page(page);
|
||||
|
||||
col++;
|
||||
if (col == maxcol) {
|
||||
col = 0;
|
||||
row++;
|
||||
}
|
||||
if (row == maxrow) {
|
||||
row = 0;
|
||||
p->end_page();
|
||||
}
|
||||
}
|
||||
|
||||
// finish the last partial page
|
||||
if (row != 0 || col != 0)
|
||||
p->end_page();
|
||||
|
||||
p->close();
|
||||
p->close_pdi(manual);
|
||||
|
||||
}
|
||||
catch (PDFlib::Exception &ex) {
|
||||
cerr << "PDFlib exception occurred in quickreference sample: " << endl;
|
||||
cerr << "[" << ex.get_errnum() << "] " << ex.get_apiname()
|
||||
<< ": " << ex.get_errmsg() << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
113
src/libs/pdflib/bind/pdflib/cpp/quickreference.dsp
Normal file
113
src/libs/pdflib/bind/pdflib/cpp/quickreference.dsp
Normal file
@ -0,0 +1,113 @@
|
||||
# Microsoft Developer Studio Project File - Name="quickreference" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||
|
||||
CFG=quickreference - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "quickreference.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "quickreference.mak" CFG="quickreference - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "quickreference - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE "quickreference - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "quickreference - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:4.0 /subsystem:console /debug /machine:I386 /out:"pdfclock.exe" /pdbtype:sept
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /machine:I386 /out:"release\quickreference.exe" /libpath:"..\..\..\libs\pdflib\Release" /libpath:"..\..\pdflib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "quickreference - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "../../../libs/pdflib" /I "../../pdflib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_MT" /YX /FD /c
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /machine:I386 /out:"hello.exe"
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib /nologo /version:4.0 /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\..\libs\pdflib\Debug" /libpath:"..\..\pdflib"
|
||||
# SUBTRACT LINK32 /map
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "quickreference - Win32 Release"
|
||||
# Name "quickreference - Win32 Debug"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\quickreference.cpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Header Files"
|
||||
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib.hpp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
3
src/libs/pdflib/bind/pdflib/cpp/readme.txt
Normal file
3
src/libs/pdflib/bind/pdflib/cpp/readme.txt
Normal file
@ -0,0 +1,3 @@
|
||||
Notes on the PDFlib C++ binding:
|
||||
|
||||
(none)
|
BIN
src/libs/pdflib/bind/pdflib/cpp/samples.mcp
Normal file
BIN
src/libs/pdflib/bind/pdflib/cpp/samples.mcp
Normal file
Binary file not shown.
497
src/libs/pdflib/bind/pdflib/data/LuciduxSans-Oblique.afm
Normal file
497
src/libs/pdflib/bind/pdflib/data/LuciduxSans-Oblique.afm
Normal file
@ -0,0 +1,497 @@
|
||||
StartFontMetrics 2.0
|
||||
Comment Copyright (c) 2000 Bigelow & Holmes Inc. and Y&Y, Inc.
|
||||
Comment Patents pending. All Rights Reserved.
|
||||
Comment Lucidux is a trademark of Bigelow & Holmes Inc.
|
||||
Comment CreationDate: 2000 Mar 04 11:21:33
|
||||
Comment For other Bigelow & Holmes fonts see http://www.YandY.com
|
||||
Version 000.200
|
||||
Notice Copyright (C) 2000 Bigelow & Holmes Inc. and Y&Y, Inc. All rights reserved.
|
||||
FullName Lucidux Sans Oblique
|
||||
FamilyName LuciduxSans
|
||||
Weight Normal
|
||||
ItalicAngle -11.3
|
||||
IsFixedPitch false
|
||||
UnderlinePosition -100
|
||||
UnderlineThickness 50
|
||||
FontName LuciduxSans-Oblique
|
||||
FontBBox -114 -211 1095 993
|
||||
Comment UniqueID 5096732
|
||||
CapHeight 723
|
||||
XHeight 530
|
||||
Ascender 771
|
||||
Descender -193
|
||||
EncodingScheme AdobeStandardEncoding
|
||||
StartCharMetrics 337
|
||||
C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
|
||||
C 33 ; WX 278 ; N exclam ; B 91 0 332 723 ;
|
||||
C 34 ; WX 355 ; N quotedbl ; B 163 530 464 771 ;
|
||||
C 35 ; WX 556 ; N numbersign ; B 55 0 645 723 ;
|
||||
C 36 ; WX 556 ; N dollar ; B 58 -60 586 783 ;
|
||||
C 37 ; WX 889 ; N percent ; B 118 -18 915 741 ;
|
||||
C 38 ; WX 667 ; N ampersand ; B 65 -18 706 741 ;
|
||||
C 40 ; WX 333 ; N parenleft ; B 116 -145 447 771 ;
|
||||
C 41 ; WX 333 ; N parenright ; B 11 -145 343 771 ;
|
||||
C 42 ; WX 389 ; N asterisk ; B 131 367 482 723 ;
|
||||
C 43 ; WX 584 ; N plus ; B 102 48 598 530 ;
|
||||
C 44 ; WX 278 ; N comma ; B 48 -157 223 120 ;
|
||||
C 45 ; WX 333 ; N hyphen ; B 94 253 355 325 ;
|
||||
C 46 ; WX 278 ; N period ; B 79 0 223 120 ;
|
||||
C 47 ; WX 278 ; N slash ; B -58 -145 452 723 ;
|
||||
C 48 ; WX 556 ; N zero ; B 96 -18 605 741 ;
|
||||
C 49 ; WX 556 ; N one ; B 112 0 512 741 ;
|
||||
C 50 ; WX 556 ; N two ; B 50 0 573 741 ;
|
||||
C 51 ; WX 556 ; N three ; B 76 -18 567 741 ;
|
||||
C 52 ; WX 556 ; N four ; B 56 0 580 723 ;
|
||||
C 53 ; WX 556 ; N five ; B 78 -18 602 723 ;
|
||||
C 54 ; WX 556 ; N six ; B 95 -18 605 741 ;
|
||||
C 55 ; WX 556 ; N seven ; B 108 0 675 723 ;
|
||||
C 56 ; WX 556 ; N eight ; B 80 -18 623 741 ;
|
||||
C 57 ; WX 556 ; N nine ; B 82 -18 592 741 ;
|
||||
C 58 ; WX 278 ; N colon ; B 91 0 293 530 ;
|
||||
C 59 ; WX 278 ; N semicolon ; B 60 -157 293 530 ;
|
||||
C 60 ; WX 584 ; N less ; B 109 48 639 530 ;
|
||||
C 61 ; WX 584 ; N equal ; B 84 163 616 416 ;
|
||||
C 62 ; WX 584 ; N greater ; B 61 48 591 530 ;
|
||||
C 63 ; WX 556 ; N question ; B 183 0 614 741 ;
|
||||
C 64 ; WX 1015 ; N at ; B 173 -18 994 741 ;
|
||||
C 65 ; WX 667 ; N A ; B 9 0 655 723 ;
|
||||
C 66 ; WX 667 ; N B ; B 81 0 688 723 ;
|
||||
C 67 ; WX 722 ; N C ; B 118 -18 801 741 ;
|
||||
C 68 ; WX 722 ; N D ; B 81 0 762 723 ;
|
||||
C 69 ; WX 667 ; N E ; B 93 0 762 723 ;
|
||||
C 70 ; WX 611 ; N F ; B 93 0 729 723 ;
|
||||
C 71 ; WX 778 ; N G ; B 106 -18 827 741 ;
|
||||
C 72 ; WX 722 ; N H ; B 81 0 786 723 ;
|
||||
C 73 ; WX 278 ; N I ; B 88 0 335 723 ;
|
||||
C 74 ; WX 500 ; N J ; B 1 -145 555 723 ;
|
||||
C 75 ; WX 667 ; N K ; B 93 0 738 723 ;
|
||||
C 76 ; WX 556 ; N L ; B 81 0 552 723 ;
|
||||
C 77 ; WX 833 ; N M ; B 81 0 897 723 ;
|
||||
C 78 ; WX 722 ; N N ; B 81 0 786 723 ;
|
||||
C 79 ; WX 778 ; N O ; B 107 -18 816 741 ;
|
||||
C 80 ; WX 667 ; N P ; B 81 0 756 723 ;
|
||||
C 81 ; WX 778 ; N Q ; B 107 -145 816 741 ;
|
||||
C 82 ; WX 722 ; N R ; B 81 0 718 723 ;
|
||||
C 83 ; WX 667 ; N S ; B 64 -18 704 741 ;
|
||||
C 84 ; WX 611 ; N T ; B 139 0 746 723 ;
|
||||
C 85 ; WX 722 ; N U ; B 122 -18 786 723 ;
|
||||
C 86 ; WX 667 ; N V ; B 162 0 806 723 ;
|
||||
C 87 ; WX 944 ; N W ; B 157 0 1077 723 ;
|
||||
C 88 ; WX 667 ; N X ; B 13 0 793 723 ;
|
||||
C 89 ; WX 667 ; N Y ; B 160 0 798 723 ;
|
||||
C 90 ; WX 611 ; N Z ; B 50 0 706 723 ;
|
||||
C 91 ; WX 278 ; N bracketleft ; B 44 -145 420 771 ;
|
||||
C 92 ; WX 278 ; N backslash ; B 116 -145 278 723 ;
|
||||
C 93 ; WX 278 ; N bracketright ; B -16 -145 359 771 ;
|
||||
C 94 ; WX 469 ; N asciicircum ; B 76 289 509 723 ;
|
||||
C 95 ; WX 556 ; N underscore ; B 34 -72 508 0 ;
|
||||
C 97 ; WX 556 ; N a ; B 69 -12 543 542 ;
|
||||
C 98 ; WX 556 ; N b ; B 74 -12 579 771 ;
|
||||
C 99 ; WX 500 ; N c ; B 87 -12 552 542 ;
|
||||
C 100 ; WX 556 ; N d ; B 83 -12 635 771 ;
|
||||
C 101 ; WX 556 ; N e ; B 89 -12 564 542 ;
|
||||
C 102 ; WX 278 ; N f ; B 85 0 461 783 ;
|
||||
C 103 ; WX 556 ; N g ; B 14 -205 590 542 ;
|
||||
C 104 ; WX 556 ; N h ; B 75 0 570 771 ;
|
||||
C 105 ; WX 222 ; N i ; B 63 0 304 723 ;
|
||||
C 106 ; WX 222 ; N j ; B -114 -205 307 723 ;
|
||||
C 107 ; WX 500 ; N k ; B 75 0 547 771 ;
|
||||
C 108 ; WX 222 ; N l ; B 63 0 313 771 ;
|
||||
C 109 ; WX 833 ; N m ; B 75 0 846 542 ;
|
||||
C 110 ; WX 556 ; N n ; B 75 0 570 542 ;
|
||||
C 111 ; WX 556 ; N o ; B 86 -12 576 542 ;
|
||||
C 112 ; WX 556 ; N p ; B 36 -193 579 542 ;
|
||||
C 113 ; WX 556 ; N q ; B 83 -193 587 542 ;
|
||||
C 114 ; WX 333 ; N r ; B 75 0 434 542 ;
|
||||
C 115 ; WX 500 ; N s ; B 61 -12 508 542 ;
|
||||
C 116 ; WX 278 ; N t ; B 97 -12 379 636 ;
|
||||
C 117 ; WX 556 ; N u ; B 92 -12 587 530 ;
|
||||
C 118 ; WX 500 ; N v ; B 115 0 600 530 ;
|
||||
C 119 ; WX 722 ; N w ; B 112 0 821 530 ;
|
||||
C 120 ; WX 500 ; N x ; B 14 0 578 530 ;
|
||||
C 121 ; WX 500 ; N y ; B 75 -193 600 530 ;
|
||||
C 122 ; WX 500 ; N z ; B 36 0 564 530 ;
|
||||
C 123 ; WX 334 ; N braceleft ; B 67 -145 431 771 ;
|
||||
C 124 ; WX 260 ; N bar ; B 65 -145 320 771 ;
|
||||
C 125 ; WX 334 ; N braceright ; B 28 -145 392 771 ;
|
||||
C 126 ; WX 584 ; N asciitilde ; B 94 201 605 377 ;
|
||||
C 161 ; WX 333 ; N exclamdown ; B 79 -193 321 530 ;
|
||||
C 162 ; WX 556 ; N cent ; B 149 0 617 723 ;
|
||||
C 163 ; WX 556 ; N sterling ; B 59 0 609 741 ;
|
||||
C 165 ; WX 556 ; N yen ; B 110 0 671 723 ;
|
||||
C 167 ; WX 556 ; N section ; B 38 -163 610 741 ;
|
||||
C 168 ; WX 556 ; N currency ; B 97 143 604 580 ;
|
||||
C 169 ; WX 191 ; N quotesingle ; B 160 506 310 771 ;
|
||||
C 171 ; WX 556 ; N guillemotleft ; B 109 48 579 482 ;
|
||||
C 180 ; WX 278 ; N periodcentered ; B 127 240 271 360 ;
|
||||
C 182 ; WX 537 ; N paragraph ; B 151 -145 586 723 ;
|
||||
C 187 ; WX 556 ; N guillemotright ; B 83 48 553 482 ;
|
||||
C 191 ; WX 611 ; N questiondown ; B 77 -211 508 530 ;
|
||||
C 193 ; WX 333 ; N grave ; B 209 626 406 783 ;
|
||||
C 194 ; WX 333 ; N acute ; B 188 626 449 783 ;
|
||||
C 195 ; WX 333 ; N circumflex ; B 121 626 462 783 ;
|
||||
C 196 ; WX 333 ; N tilde ; B 129 626 477 741 ;
|
||||
C 197 ; WX 333 ; N macron ; B 135 627 463 699 ;
|
||||
C 198 ; WX 333 ; N breve ; B 160 626 486 783 ;
|
||||
C 199 ; WX 333 ; N dotaccent ; B 243 626 360 723 ;
|
||||
C 200 ; WX 333 ; N dieresis ; B 153 626 447 711 ;
|
||||
C 202 ; WX 333 ; N ring ; B 201 626 427 848 ;
|
||||
C 203 ; WX 333 ; N cedilla ; B 44 -211 228 0 ;
|
||||
C 205 ; WX 333 ; N hungarumlaut ; B 100 626 515 783 ;
|
||||
C 206 ; WX 333 ; N ogonek ; B 61 -181 225 0 ;
|
||||
C 207 ; WX 333 ; N caron ; B 153 626 494 783 ;
|
||||
C 225 ; WX 1000 ; N AE ; B 9 0 1095 723 ;
|
||||
C 227 ; WX 370 ; N ordfeminine ; B 139 402 436 741 ;
|
||||
C 232 ; WX 556 ; N Lslash ; B 68 0 552 723 ;
|
||||
C 233 ; WX 778 ; N Oslash ; B 47 -18 881 741 ;
|
||||
C 234 ; WX 1000 ; N OE ; B 107 -18 1095 741 ;
|
||||
C 235 ; WX 365 ; N ordmasculine ; B 145 402 448 741 ;
|
||||
C 241 ; WX 889 ; N ae ; B 69 -12 897 542 ;
|
||||
C 245 ; WX 222 ; N dotlessi ; B 63 0 265 530 ;
|
||||
C 248 ; WX 222 ; N lslash ; B 60 0 329 771 ;
|
||||
C 249 ; WX 611 ; N oslash ; B 68 -12 649 542 ;
|
||||
C 250 ; WX 944 ; N oe ; B 87 -12 951 542 ;
|
||||
C 251 ; WX 611 ; N germandbls ; B 63 -12 602 783 ;
|
||||
C -1 ; WX 667 ; N Aacute ; B 9 0 690 940 ;
|
||||
C -1 ; WX 667 ; N Abreve ; B 9 0 686 940 ;
|
||||
C -1 ; WX 667 ; N Acircumflex ; B 9 0 662 940 ;
|
||||
C -1 ; WX 667 ; N Adieresis ; B 9 0 655 868 ;
|
||||
C -1 ; WX 667 ; N Agrave ; B 9 0 655 940 ;
|
||||
C -1 ; WX 667 ; N Amacron ; B 9 0 663 856 ;
|
||||
C -1 ; WX 667 ; N Aogonek ; B 9 -181 655 723 ;
|
||||
C -1 ; WX 667 ; N Aring ; B 9 0 655 945 ;
|
||||
C -1 ; WX 667 ; N Atilde ; B 9 0 677 898 ;
|
||||
C -1 ; WX 722 ; N Cacute ; B 118 -18 801 940 ;
|
||||
C -1 ; WX 722 ; N Ccaron ; B 118 -18 801 940 ;
|
||||
C -1 ; WX 722 ; N Ccedilla ; B 118 -211 801 741 ;
|
||||
C -1 ; WX 722 ; N Ccircumflex ; B 118 -18 801 940 ;
|
||||
C -1 ; WX 722 ; N Cdotaccent ; B 118 -18 801 880 ;
|
||||
C -1 ; WX 722 ; N Dcaron ; B 81 0 762 940 ;
|
||||
C -1 ; WX 722 ; N Dcroat ; B 68 0 763 723 ;
|
||||
C -1 ; WX 667 ; N Eacute ; B 93 0 762 940 ;
|
||||
C -1 ; WX 667 ; N Ebreve ; B 93 0 762 940 ;
|
||||
C -1 ; WX 667 ; N Ecaron ; B 93 0 762 940 ;
|
||||
C -1 ; WX 667 ; N Ecircumflex ; B 93 0 762 940 ;
|
||||
C -1 ; WX 667 ; N Edieresis ; B 93 0 762 868 ;
|
||||
C -1 ; WX 667 ; N Edotaccent ; B 93 0 762 880 ;
|
||||
C -1 ; WX 667 ; N Egrave ; B 93 0 762 940 ;
|
||||
C -1 ; WX 667 ; N Emacron ; B 93 0 762 856 ;
|
||||
C -1 ; WX 722 ; N Eng ; B 81 -205 786 723 ;
|
||||
C -1 ; WX 667 ; N Eogonek ; B 93 -181 762 723 ;
|
||||
C -1 ; WX 722 ; N Eth ; B 68 0 763 723 ;
|
||||
C -1 ; WX 556 ; N Euro ; B 52 -18 671 740 ;
|
||||
C -1 ; WX 778 ; N Gbreve ; B 106 -18 827 940 ;
|
||||
C -1 ; WX 778 ; N Gcircumflex ; B 106 -18 827 940 ;
|
||||
C -1 ; WX 778 ; N Gcommaaccent ; B 106 -211 827 741 ;
|
||||
C -1 ; WX 778 ; N Gdotaccent ; B 106 -18 827 880 ;
|
||||
C -1 ; WX 722 ; N Hbar ; B 81 0 834 723 ;
|
||||
C -1 ; WX 722 ; N Hcircumflex ; B 81 0 786 940 ;
|
||||
C -1 ; WX 735 ; N IJ ; B 88 -145 790 723 ;
|
||||
C -1 ; WX 278 ; N Iacute ; B 88 0 495 940 ;
|
||||
C -1 ; WX 278 ; N Ibreve ; B 88 0 489 940 ;
|
||||
C -1 ; WX 278 ; N Icircumflex ; B 88 0 466 940 ;
|
||||
C -1 ; WX 278 ; N Idieresis ; B 88 0 451 868 ;
|
||||
C -1 ; WX 278 ; N Idotaccent ; B 88 0 364 880 ;
|
||||
C -1 ; WX 278 ; N Igrave ; B 88 0 368 940 ;
|
||||
C -1 ; WX 278 ; N Imacron ; B 88 0 466 856 ;
|
||||
C -1 ; WX 278 ; N Iogonek ; B 37 -181 335 723 ;
|
||||
C -1 ; WX 278 ; N Itilde ; B 88 0 481 898 ;
|
||||
C -1 ; WX 500 ; N Jcircumflex ; B 1 -145 674 940 ;
|
||||
C -1 ; WX 667 ; N Kcommaaccent ; B 93 -211 738 723 ;
|
||||
C -1 ; WX 556 ; N Lacute ; B 81 0 552 940 ;
|
||||
C -1 ; WX 556 ; N Lcaron ; B 81 0 569 723 ;
|
||||
C -1 ; WX 556 ; N Lcommaaccent ; B 81 -211 552 723 ;
|
||||
C -1 ; WX 556 ; N Ldot ; B 81 0 552 723 ;
|
||||
C -1 ; WX 722 ; N Nacute ; B 81 0 786 940 ;
|
||||
C -1 ; WX 722 ; N Ncaron ; B 81 0 786 940 ;
|
||||
C -1 ; WX 722 ; N Ncommaaccent ; B 81 -211 786 723 ;
|
||||
C -1 ; WX 722 ; N Ntilde ; B 81 0 786 898 ;
|
||||
C -1 ; WX 778 ; N Oacute ; B 107 -18 816 940 ;
|
||||
C -1 ; WX 778 ; N Obreve ; B 107 -18 816 940 ;
|
||||
C -1 ; WX 778 ; N Ocircumflex ; B 107 -18 816 940 ;
|
||||
C -1 ; WX 778 ; N Odieresis ; B 107 -18 816 868 ;
|
||||
C -1 ; WX 778 ; N Ograve ; B 107 -18 816 940 ;
|
||||
C -1 ; WX 778 ; N Ohungarumlaut ; B 107 -18 847 940 ;
|
||||
C -1 ; WX 778 ; N Omacron ; B 107 -18 816 856 ;
|
||||
C -1 ; WX 778 ; N Otilde ; B 107 -18 816 898 ;
|
||||
C -1 ; WX 722 ; N Racute ; B 81 0 718 940 ;
|
||||
C -1 ; WX 722 ; N Rcaron ; B 81 0 718 940 ;
|
||||
C -1 ; WX 722 ; N Rcommaaccent ; B 81 -211 718 723 ;
|
||||
C -1 ; WX 667 ; N Sacute ; B 64 -18 704 940 ;
|
||||
C -1 ; WX 667 ; N Scaron ; B 64 -18 704 940 ;
|
||||
C -1 ; WX 667 ; N Scedilla ; B 64 -191 704 741 ;
|
||||
C -1 ; WX 667 ; N Scircumflex ; B 64 -18 704 940 ;
|
||||
C -1 ; WX 667 ; N Scommaaccent ; B 64 -211 704 741 ;
|
||||
C -1 ; WX 611 ; N Tbar ; B 139 0 746 723 ;
|
||||
C -1 ; WX 611 ; N Tcaron ; B 139 0 746 940 ;
|
||||
C -1 ; WX 611 ; N Tcedilla ; B 139 -191 746 723 ;
|
||||
C -1 ; WX 611 ; N Tcommaaccent ; B 139 -211 746 723 ;
|
||||
C -1 ; WX 667 ; N Thorn ; B 81 0 729 723 ;
|
||||
C -1 ; WX 722 ; N Uacute ; B 122 -18 786 940 ;
|
||||
C -1 ; WX 722 ; N Ubreve ; B 122 -18 786 940 ;
|
||||
C -1 ; WX 722 ; N Ucircumflex ; B 122 -18 786 940 ;
|
||||
C -1 ; WX 722 ; N Udieresis ; B 122 -18 786 868 ;
|
||||
C -1 ; WX 722 ; N Ugrave ; B 122 -18 786 940 ;
|
||||
C -1 ; WX 722 ; N Uhungarumlaut ; B 122 -18 815 940 ;
|
||||
C -1 ; WX 722 ; N Umacron ; B 122 -18 786 856 ;
|
||||
C -1 ; WX 722 ; N Uogonek ; B 122 -181 786 723 ;
|
||||
C -1 ; WX 722 ; N Uring ; B 122 -18 786 993 ;
|
||||
C -1 ; WX 722 ; N Utilde ; B 122 -18 786 898 ;
|
||||
C -1 ; WX 944 ; N Wcircumflex ; B 157 0 1077 940 ;
|
||||
C -1 ; WX 667 ; N Yacute ; B 160 0 798 940 ;
|
||||
C -1 ; WX 667 ; N Ycircumflex ; B 160 0 798 940 ;
|
||||
C -1 ; WX 667 ; N Ydieresis ; B 160 0 798 868 ;
|
||||
C -1 ; WX 611 ; N Zacute ; B 50 0 706 940 ;
|
||||
C -1 ; WX 611 ; N Zcaron ; B 50 0 706 940 ;
|
||||
C -1 ; WX 611 ; N Zdotaccent ; B 50 0 706 880 ;
|
||||
C -1 ; WX 556 ; N aacute ; B 69 -12 607 783 ;
|
||||
C -1 ; WX 556 ; N abreve ; B 69 -12 607 783 ;
|
||||
C -1 ; WX 556 ; N acircumflex ; B 69 -12 578 783 ;
|
||||
C -1 ; WX 556 ; N adieresis ; B 69 -12 554 711 ;
|
||||
C -1 ; WX 333 ; N afii57929 ; B 228 549 369 771 ;
|
||||
C -1 ; WX 556 ; N agrave ; B 69 -12 543 783 ;
|
||||
C -1 ; WX 556 ; N amacron ; B 69 -12 569 699 ;
|
||||
C -1 ; WX 556 ; N aogonek ; B 69 -181 543 542 ;
|
||||
C -1 ; WX 333 ; N apostrophe ; B 228 549 369 771 ;
|
||||
C -1 ; WX 556 ; N aring ; B 69 -12 543 848 ;
|
||||
C -1 ; WX 556 ; N atilde ; B 69 -12 578 741 ;
|
||||
C -1 ; WX 260 ; N brokenbar ; B 65 -145 320 771 ;
|
||||
C -1 ; WX 500 ; N cacute ; B 87 -12 610 783 ;
|
||||
C -1 ; WX 500 ; N ccaron ; B 87 -12 624 783 ;
|
||||
C -1 ; WX 500 ; N ccedilla ; B 87 -211 552 542 ;
|
||||
C -1 ; WX 500 ; N ccircumflex ; B 87 -12 592 783 ;
|
||||
C -1 ; WX 500 ; N cdotaccent ; B 87 -12 552 723 ;
|
||||
C -1 ; WX 333 ; N commaaccent ; B 45 -211 227 -54 ;
|
||||
C -1 ; WX 737 ; N copyright ; B 72 0 810 723 ;
|
||||
C -1 ; WX 615 ; N dcaron ; B 83 -12 769 771 ;
|
||||
C -1 ; WX 556 ; N dcroat ; B 83 -12 688 771 ;
|
||||
C -1 ; WX 400 ; N degree ; B 171 452 467 741 ;
|
||||
C -1 ; WX 584 ; N divide ; B 102 0 598 578 ;
|
||||
C -1 ; WX 222 ; N dotlessj ; B -114 -205 268 530 ;
|
||||
C -1 ; WX 556 ; N eacute ; B 89 -12 603 783 ;
|
||||
C -1 ; WX 556 ; N ebreve ; B 89 -12 597 783 ;
|
||||
C -1 ; WX 556 ; N ecaron ; B 89 -12 606 783 ;
|
||||
C -1 ; WX 556 ; N ecircumflex ; B 89 -12 579 783 ;
|
||||
C -1 ; WX 556 ; N edieresis ; B 89 -12 565 711 ;
|
||||
C -1 ; WX 556 ; N edotaccent ; B 89 -12 564 723 ;
|
||||
C -1 ; WX 556 ; N egrave ; B 89 -12 564 783 ;
|
||||
C -1 ; WX 556 ; N emacron ; B 89 -12 574 699 ;
|
||||
C -1 ; WX 556 ; N eng ; B 75 -205 570 542 ;
|
||||
C -1 ; WX 556 ; N eogonek ; B 89 -181 564 542 ;
|
||||
C -1 ; WX 602 ; N eth ; B 87 -12 624 818 ;
|
||||
C -1 ; WX 556 ; N gbreve ; B 14 -205 612 783 ;
|
||||
C -1 ; WX 556 ; N gcircumflex ; B 14 -205 590 783 ;
|
||||
C -1 ; WX 556 ; N gcommaaccent ; B 14 -205 590 848 ;
|
||||
C -1 ; WX 556 ; N gdotaccent ; B 14 -205 590 723 ;
|
||||
C -1 ; WX 556 ; N hbar ; B 75 0 570 771 ;
|
||||
C -1 ; WX 556 ; N hcircumflex ; B 75 0 616 976 ;
|
||||
C -1 ; WX 222 ; N iacute ; B 63 0 436 783 ;
|
||||
C -1 ; WX 222 ; N ibreve ; B 63 0 430 783 ;
|
||||
C -1 ; WX 222 ; N icircumflex ; B 63 0 406 783 ;
|
||||
C -1 ; WX 222 ; N idieresis ; B 63 0 391 711 ;
|
||||
C -1 ; WX 222 ; N igrave ; B 63 0 308 783 ;
|
||||
C -1 ; WX 444 ; N ij ; B 63 -205 529 723 ;
|
||||
C -1 ; WX 222 ; N imacron ; B 63 0 407 699 ;
|
||||
C -1 ; WX 222 ; N iogonek ; B 8 -181 304 723 ;
|
||||
C -1 ; WX 222 ; N itilde ; B 63 0 421 741 ;
|
||||
C -1 ; WX 222 ; N jcircumflex ; B -114 -205 401 783 ;
|
||||
C -1 ; WX 500 ; N kcommaaccent ; B 75 -211 547 771 ;
|
||||
C -1 ; WX 500 ; N kgreenlandic ; B 75 0 547 530 ;
|
||||
C -1 ; WX 222 ; N lacute ; B 63 0 463 976 ;
|
||||
C -1 ; WX 292 ; N lcaron ; B 63 0 452 771 ;
|
||||
C -1 ; WX 222 ; N lcommaaccent ; B -2 -211 313 771 ;
|
||||
C -1 ; WX 334 ; N ldot ; B 63 0 410 771 ;
|
||||
C -1 ; WX 584 ; N logicalnot ; B 114 145 611 434 ;
|
||||
C -1 ; WX 222 ; N longs ; B 70 0 406 783 ;
|
||||
C -1 ; WX 556 ; N mu ; B 30 -193 587 530 ;
|
||||
C -1 ; WX 584 ; N multiply ; B 79 55 620 523 ;
|
||||
C -1 ; WX 556 ; N nacute ; B 75 0 588 783 ;
|
||||
C -1 ; WX 604 ; N napostrophe ; B 110 0 618 771 ;
|
||||
C -1 ; WX 278 ; N nbspace ; B 0 0 0 0 ;
|
||||
C -1 ; WX 556 ; N ncaron ; B 75 0 613 783 ;
|
||||
C -1 ; WX 556 ; N ncommaaccent ; B 75 -211 570 542 ;
|
||||
C -1 ; WX 556 ; N ntilde ; B 75 0 584 741 ;
|
||||
C -1 ; WX 556 ; N oacute ; B 86 -12 603 783 ;
|
||||
C -1 ; WX 556 ; N obreve ; B 86 -12 597 783 ;
|
||||
C -1 ; WX 556 ; N ocircumflex ; B 86 -12 576 783 ;
|
||||
C -1 ; WX 556 ; N odieresis ; B 86 -12 576 711 ;
|
||||
C -1 ; WX 556 ; N ograve ; B 86 -12 576 783 ;
|
||||
C -1 ; WX 556 ; N ohungarumlaut ; B 86 -12 705 783 ;
|
||||
C -1 ; WX 556 ; N omacron ; B 86 -12 576 699 ;
|
||||
C -1 ; WX 834 ; N onehalf ; B 65 -18 841 741 ;
|
||||
C -1 ; WX 834 ; N onequarter ; B 89 -18 839 741 ;
|
||||
C -1 ; WX 333 ; N onesuperior ; B 187 289 376 734 ;
|
||||
C -1 ; WX 556 ; N otilde ; B 86 -12 588 741 ;
|
||||
C -1 ; WX 584 ; N plusminus ; B 51 0 613 578 ;
|
||||
C -1 ; WX 333 ; N racute ; B 75 0 510 783 ;
|
||||
C -1 ; WX 333 ; N rcaron ; B 75 0 500 783 ;
|
||||
C -1 ; WX 333 ; N rcommaaccent ; B 34 -211 434 542 ;
|
||||
C -1 ; WX 737 ; N registered ; B 72 0 810 723 ;
|
||||
C -1 ; WX 500 ; N sacute ; B 61 -12 582 783 ;
|
||||
C -1 ; WX 500 ; N scaron ; B 61 -12 596 783 ;
|
||||
C -1 ; WX 500 ; N scedilla ; B 61 -191 508 542 ;
|
||||
C -1 ; WX 500 ; N scircumflex ; B 61 -12 563 783 ;
|
||||
C -1 ; WX 500 ; N scommaaccent ; B 61 -211 508 542 ;
|
||||
C -1 ; WX 333 ; N sfthyphen ; B 94 253 355 325 ;
|
||||
C -1 ; WX 278 ; N tbar ; B 69 -12 379 636 ;
|
||||
C -1 ; WX 375 ; N tcaron ; B 97 -12 517 824 ;
|
||||
C -1 ; WX 278 ; N tcedilla ; B 69 -191 379 636 ;
|
||||
C -1 ; WX 278 ; N tcommaaccent ; B 46 -211 379 636 ;
|
||||
C -1 ; WX 556 ; N thorn ; B 36 -193 579 771 ;
|
||||
C -1 ; WX 834 ; N threequarters ; B 112 -18 884 741 ;
|
||||
C -1 ; WX 333 ; N threesuperior ; B 94 278 419 734 ;
|
||||
C -1 ; WX 333 ; N twosuperior ; B 94 289 437 734 ;
|
||||
C -1 ; WX 556 ; N uacute ; B 92 -12 600 783 ;
|
||||
C -1 ; WX 556 ; N ubreve ; B 92 -12 594 783 ;
|
||||
C -1 ; WX 556 ; N ucircumflex ; B 92 -12 587 783 ;
|
||||
C -1 ; WX 556 ; N udieresis ; B 92 -12 587 711 ;
|
||||
C -1 ; WX 556 ; N ugrave ; B 92 -12 587 783 ;
|
||||
C -1 ; WX 556 ; N uhungarumlaut ; B 92 -12 682 783 ;
|
||||
C -1 ; WX 556 ; N umacron ; B 92 -12 587 699 ;
|
||||
C -1 ; WX 556 ; N uni20AC ; B 52 -18 671 740 ;
|
||||
C -1 ; WX 556 ; N uogonek ; B 92 -181 587 530 ;
|
||||
C -1 ; WX 556 ; N uring ; B 92 -12 587 848 ;
|
||||
C -1 ; WX 556 ; N utilde ; B 92 -12 587 741 ;
|
||||
C -1 ; WX 722 ; N wcircumflex ; B 112 0 821 783 ;
|
||||
C -1 ; WX 500 ; N yacute ; B 75 -193 600 783 ;
|
||||
C -1 ; WX 500 ; N ycircumflex ; B 75 -193 600 783 ;
|
||||
C -1 ; WX 500 ; N ydieresis ; B 75 -193 600 711 ;
|
||||
C -1 ; WX 500 ; N zacute ; B 36 0 564 783 ;
|
||||
C -1 ; WX 500 ; N zcaron ; B 36 0 579 783 ;
|
||||
C -1 ; WX 500 ; N zdotaccent ; B 36 0 564 723 ;
|
||||
EndCharMetrics
|
||||
StartComposites 132
|
||||
CC Aacute 2 ; PCC A 0 0 ; PCC acute 210 157 ;
|
||||
CC Abreve 2 ; PCC A 0 0 ; PCC breve 169 157 ;
|
||||
CC Acircumflex 2 ; PCC A 0 0 ; PCC circumflex 168 157 ;
|
||||
CC Adieresis 2 ; PCC A 0 0 ; PCC dieresis 168 157 ;
|
||||
CC Agrave 2 ; PCC A 0 0 ; PCC grave 126 157 ;
|
||||
CC Amacron 2 ; PCC A 0 0 ; PCC macron 169 157 ;
|
||||
CC Atilde 2 ; PCC A 0 0 ; PCC tilde 168 157 ;
|
||||
CC Cacute 2 ; PCC C 0 0 ; PCC acute 281 157 ;
|
||||
CC Ccaron 2 ; PCC C 0 0 ; PCC caron 250 157 ;
|
||||
CC Ccircumflex 2 ; PCC C 0 0 ; PCC circumflex 250 157 ;
|
||||
CC Cdotaccent 2 ; PCC C 0 0 ; PCC dotaccent 250 157 ;
|
||||
CC Dcaron 2 ; PCC D 0 0 ; PCC caron 167 157 ;
|
||||
CC Eacute 2 ; PCC E 0 0 ; PCC acute 240 157 ;
|
||||
CC Ebreve 2 ; PCC E 0 0 ; PCC breve 193 157 ;
|
||||
CC Ecaron 2 ; PCC E 0 0 ; PCC caron 191 157 ;
|
||||
CC Ecircumflex 2 ; PCC E 0 0 ; PCC circumflex 199 157 ;
|
||||
CC Edieresis 2 ; PCC E 0 0 ; PCC dieresis 192 157 ;
|
||||
CC Edotaccent 2 ; PCC E 0 0 ; PCC dotaccent 192 157 ;
|
||||
CC Egrave 2 ; PCC E 0 0 ; PCC grave 156 157 ;
|
||||
CC Emacron 2 ; PCC E 0 0 ; PCC macron 186 157 ;
|
||||
CC Gbreve 2 ; PCC G 0 0 ; PCC breve 256 157 ;
|
||||
CC Gcircumflex 2 ; PCC G 0 0 ; PCC circumflex 256 157 ;
|
||||
CC Gdotaccent 2 ; PCC G 0 0 ; PCC dotaccent 257 157 ;
|
||||
CC Hcircumflex 2 ; PCC H 0 0 ; PCC circumflex 194 157 ;
|
||||
CC Iacute 2 ; PCC I 0 0 ; PCC acute 15 157 ;
|
||||
CC Ibreve 2 ; PCC I 0 0 ; PCC breve -28 157 ;
|
||||
CC Icircumflex 2 ; PCC I 0 0 ; PCC circumflex -28 157 ;
|
||||
CC Idieresis 2 ; PCC I 0 0 ; PCC dieresis -28 157 ;
|
||||
CC Idotaccent 2 ; PCC I 0 0 ; PCC dotaccent -27 157 ;
|
||||
CC Igrave 2 ; PCC I 0 0 ; PCC grave -70 157 ;
|
||||
CC Imacron 2 ; PCC I 0 0 ; PCC macron -28 157 ;
|
||||
CC Itilde 2 ; PCC I 0 0 ; PCC tilde -28 157 ;
|
||||
CC Jcircumflex 2 ; PCC J 0 0 ; PCC circumflex 180 157 ;
|
||||
CC Lacute 2 ; PCC L 0 0 ; PCC acute 24 157 ;
|
||||
CC Ldot 2 ; PCC L 0 0 ; PCC dotaccent 245 -313 ;
|
||||
CC Nacute 2 ; PCC N 0 0 ; PCC acute 226 157 ;
|
||||
CC Ncaron 2 ; PCC N 0 0 ; PCC caron 195 157 ;
|
||||
CC Ntilde 2 ; PCC N 0 0 ; PCC tilde 207 157 ;
|
||||
CC Oacute 2 ; PCC O 0 0 ; PCC acute 265 157 ;
|
||||
CC Obreve 2 ; PCC O 0 0 ; PCC breve 222 157 ;
|
||||
CC Ocircumflex 2 ; PCC O 0 0 ; PCC circumflex 222 157 ;
|
||||
CC Odieresis 2 ; PCC O 0 0 ; PCC dieresis 222 157 ;
|
||||
CC Ograve 2 ; PCC O 0 0 ; PCC grave 180 157 ;
|
||||
CC Ohungarumlaut 2 ; PCC O 0 0 ; PCC hungarumlaut 301 157 ;
|
||||
CC Omacron 2 ; PCC O 0 0 ; PCC macron 222 157 ;
|
||||
CC Otilde 2 ; PCC O 0 0 ; PCC tilde 222 157 ;
|
||||
CC Racute 2 ; PCC R 0 0 ; PCC acute 192 157 ;
|
||||
CC Rcaron 2 ; PCC R 0 0 ; PCC caron 143 157 ;
|
||||
CC Sacute 2 ; PCC S 0 0 ; PCC acute 193 157 ;
|
||||
CC Scaron 2 ; PCC S 0 0 ; PCC caron 162 157 ;
|
||||
CC Scircumflex 2 ; PCC S 0 0 ; PCC circumflex 161 157 ;
|
||||
CC Tcaron 2 ; PCC T 0 0 ; PCC caron 139 157 ;
|
||||
CC Uacute 2 ; PCC U 0 0 ; PCC acute 243 157 ;
|
||||
CC Ubreve 2 ; PCC U 0 0 ; PCC breve 201 157 ;
|
||||
CC Ucircumflex 2 ; PCC U 0 0 ; PCC circumflex 201 157 ;
|
||||
CC Udieresis 2 ; PCC U 0 0 ; PCC dieresis 201 157 ;
|
||||
CC Ugrave 2 ; PCC U 0 0 ; PCC grave 159 157 ;
|
||||
CC Uhungarumlaut 2 ; PCC U 0 0 ; PCC hungarumlaut 269 157 ;
|
||||
CC Umacron 2 ; PCC U 0 0 ; PCC macron 201 157 ;
|
||||
CC Uring 2 ; PCC U 0 0 ; PCC ring 201 145 ;
|
||||
CC Utilde 2 ; PCC U 0 0 ; PCC tilde 201 157 ;
|
||||
CC Wcircumflex 2 ; PCC W 0 0 ; PCC circumflex 311 157 ;
|
||||
CC Yacute 2 ; PCC Y 0 0 ; PCC acute 213 157 ;
|
||||
CC Ycircumflex 2 ; PCC Y 0 0 ; PCC circumflex 178 157 ;
|
||||
CC Ydieresis 2 ; PCC Y 0 0 ; PCC dieresis 178 157 ;
|
||||
CC Zacute 2 ; PCC Z 0 0 ; PCC acute 170 157 ;
|
||||
CC Zcaron 2 ; PCC Z 0 0 ; PCC caron 145 157 ;
|
||||
CC Zdotaccent 2 ; PCC Z 0 0 ; PCC dotaccent 145 157 ;
|
||||
CC aacute 2 ; PCC a 0 0 ; PCC acute 158 0 ;
|
||||
CC abreve 2 ; PCC a 0 0 ; PCC breve 121 0 ;
|
||||
CC acircumflex 2 ; PCC a 0 0 ; PCC circumflex 116 0 ;
|
||||
CC adieresis 2 ; PCC a 0 0 ; PCC dieresis 107 0 ;
|
||||
CC agrave 2 ; PCC a 0 0 ; PCC grave 74 0 ;
|
||||
CC amacron 2 ; PCC a 0 0 ; PCC macron 106 0 ;
|
||||
CC aring 2 ; PCC a 0 0 ; PCC ring 116 0 ;
|
||||
CC atilde 2 ; PCC a 0 0 ; PCC tilde 101 0 ;
|
||||
CC cacute 2 ; PCC c 0 0 ; PCC acute 161 0 ;
|
||||
CC ccaron 2 ; PCC c 0 0 ; PCC caron 130 0 ;
|
||||
CC ccircumflex 2 ; PCC c 0 0 ; PCC circumflex 130 0 ;
|
||||
CC cdotaccent 2 ; PCC c 0 0 ; PCC dotaccent 130 0 ;
|
||||
CC eacute 2 ; PCC e 0 0 ; PCC acute 154 0 ;
|
||||
CC ebreve 2 ; PCC e 0 0 ; PCC breve 111 0 ;
|
||||
CC ecaron 2 ; PCC e 0 0 ; PCC caron 112 0 ;
|
||||
CC ecircumflex 2 ; PCC e 0 0 ; PCC circumflex 117 0 ;
|
||||
CC edieresis 2 ; PCC e 0 0 ; PCC dieresis 118 0 ;
|
||||
CC edotaccent 2 ; PCC e 0 0 ; PCC dotaccent 112 0 ;
|
||||
CC egrave 2 ; PCC e 0 0 ; PCC grave 69 0 ;
|
||||
CC emacron 2 ; PCC e 0 0 ; PCC macron 111 0 ;
|
||||
CC gbreve 2 ; PCC g 0 0 ; PCC breve 126 0 ;
|
||||
CC gcircumflex 2 ; PCC g 0 0 ; PCC circumflex 125 0 ;
|
||||
CC gdotaccent 2 ; PCC g 0 0 ; PCC dotaccent 120 0 ;
|
||||
CC hcircumflex 2 ; PCC h 0 0 ; PCC circumflex 115 193 ;
|
||||
CC iacute 2 ; PCC dotlessi 0 0 ; PCC acute -13 0 ;
|
||||
CC ibreve 2 ; PCC dotlessi 0 0 ; PCC breve -56 0 ;
|
||||
CC icircumflex 2 ; PCC dotlessi 0 0 ; PCC circumflex -56 0 ;
|
||||
CC idieresis 2 ; PCC dotlessi 0 0 ; PCC dieresis -56 0 ;
|
||||
CC igrave 2 ; PCC dotlessi 0 0 ; PCC grave -98 0 ;
|
||||
CC imacron 2 ; PCC dotlessi 0 0 ; PCC macron -56 0 ;
|
||||
CC itilde 2 ; PCC dotlessi 0 0 ; PCC tilde -56 0 ;
|
||||
CC lacute 2 ; PCC l 0 0 ; PCC acute -24 193 ;
|
||||
CC nacute 2 ; PCC n 0 0 ; PCC acute 139 0 ;
|
||||
CC ncaron 2 ; PCC n 0 0 ; PCC caron 119 0 ;
|
||||
CC ntilde 2 ; PCC n 0 0 ; PCC tilde 107 0 ;
|
||||
CC oacute 2 ; PCC o 0 0 ; PCC acute 154 0 ;
|
||||
CC obreve 2 ; PCC o 0 0 ; PCC breve 111 0 ;
|
||||
CC ocircumflex 2 ; PCC o 0 0 ; PCC circumflex 111 0 ;
|
||||
CC odieresis 2 ; PCC o 0 0 ; PCC dieresis 111 0 ;
|
||||
CC ograve 2 ; PCC o 0 0 ; PCC grave 69 0 ;
|
||||
CC ohungarumlaut 2 ; PCC o 0 0 ; PCC hungarumlaut 190 0 ;
|
||||
CC omacron 2 ; PCC o 0 0 ; PCC macron 111 0 ;
|
||||
CC otilde 2 ; PCC o 0 0 ; PCC tilde 111 0 ;
|
||||
CC racute 2 ; PCC r 0 0 ; PCC acute 61 0 ;
|
||||
CC rcaron 2 ; PCC r 0 0 ; PCC caron 6 0 ;
|
||||
CC sacute 2 ; PCC s 0 0 ; PCC acute 133 0 ;
|
||||
CC scaron 2 ; PCC s 0 0 ; PCC caron 102 0 ;
|
||||
CC scircumflex 2 ; PCC s 0 0 ; PCC circumflex 101 0 ;
|
||||
CC uacute 2 ; PCC u 0 0 ; PCC acute 151 0 ;
|
||||
CC ubreve 2 ; PCC u 0 0 ; PCC breve 108 0 ;
|
||||
CC ucircumflex 2 ; PCC u 0 0 ; PCC circumflex 108 0 ;
|
||||
CC udieresis 2 ; PCC u 0 0 ; PCC dieresis 108 0 ;
|
||||
CC ugrave 2 ; PCC u 0 0 ; PCC grave 72 0 ;
|
||||
CC uhungarumlaut 2 ; PCC u 0 0 ; PCC hungarumlaut 167 0 ;
|
||||
CC umacron 2 ; PCC u 0 0 ; PCC macron 108 0 ;
|
||||
CC uring 2 ; PCC u 0 0 ; PCC ring 108 0 ;
|
||||
CC utilde 2 ; PCC u 0 0 ; PCC tilde 108 0 ;
|
||||
CC wcircumflex 2 ; PCC w 0 0 ; PCC circumflex 198 0 ;
|
||||
CC yacute 2 ; PCC y 0 0 ; PCC acute 127 0 ;
|
||||
CC ycircumflex 2 ; PCC y 0 0 ; PCC circumflex 91 0 ;
|
||||
CC ydieresis 2 ; PCC y 0 0 ; PCC dieresis 91 0 ;
|
||||
CC zacute 2 ; PCC z 0 0 ; PCC acute 115 0 ;
|
||||
CC zcaron 2 ; PCC z 0 0 ; PCC caron 85 0 ;
|
||||
CC zdotaccent 2 ; PCC z 0 0 ; PCC dotaccent 82 0 ;
|
||||
EndComposites
|
||||
EndFontMetrics
|
947
src/libs/pdflib/bind/pdflib/data/LuciduxSans-Oblique.pfa
Normal file
947
src/libs/pdflib/bind/pdflib/data/LuciduxSans-Oblique.pfa
Normal file
@ -0,0 +1,947 @@
|
||||
%!PS-AdobeFont-1.1: LuciduxSans-Oblique 000.200
|
||||
%%CreationDate: 2000 Mar 04 11:21:33
|
||||
|
||||
% Copyright (C) 2000 Bigelow & Holmes Inc. and Y&Y, Inc.
|
||||
% Patents pending. All Rights Reserved.
|
||||
% Lucidux is a trademark of Bigelow & Holmes Inc.
|
||||
|
||||
% Permission is hereby granted, free of charge, to any person obtaining a
|
||||
% copy of these Fonts and associated documentation files (the "Font Software"),
|
||||
% to deal in the Font Software, including without limitation the rights to
|
||||
% use, copy, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
% the Font Software, and to permit persons to whom the Font Software is
|
||||
% furnished to do so, subject to the following conditions:
|
||||
|
||||
% The above copyright, trademark, patent notices and this permission notice
|
||||
% shall be included in all copies of one or more of the Software.
|
||||
|
||||
% The Font Software may not be modified, alterered, or added to, and in
|
||||
% particular the designs of glyphs or characters in the Fonts may not be
|
||||
% modified nor may additional glyphs or characters be added to the Fonts,
|
||||
% except that composite characters composed of two or more characters in the
|
||||
% Fonts may be created using the seac (Standard Encoding Accented Character)
|
||||
% Type 1 operator.
|
||||
|
||||
% THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
% COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW &
|
||||
% HOLMES INC. OR Y&Y, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
% LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR
|
||||
% CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
% ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
% OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
% Except as contained in this notice, the names of Bigelow & Holmes Inc.
|
||||
% and Y&Y, Inc. shall not be used in advertising or otherwise to promote
|
||||
% the sale, use or other dealings in this Font Software without prior
|
||||
% written authorization from the Bigelow & Holmes Inc. and Y&Y, Inc.
|
||||
|
||||
% For further information, contact:
|
||||
% mailto:support@yandy.com or mailto:design@bigelowandholmes.com
|
||||
% For other Bigelow & Holmes fonts see http://www.YandY.com
|
||||
|
||||
12 dict begin
|
||||
/FontInfo 9 dict dup begin
|
||||
/version (000.200) readonly def
|
||||
/Notice (Copyright (C) 2000 Bigelow & Holmes Inc. and Y&Y, Inc. All rights reserved.) readonly def
|
||||
/FullName (Lucidux Sans Oblique) readonly def
|
||||
/FamilyName (LuciduxSans) readonly def
|
||||
/Weight (Normal) readonly def
|
||||
/ItalicAngle -11.3 def
|
||||
/isFixedPitch false def
|
||||
/UnderlinePosition -100 def
|
||||
/UnderlineThickness 50 def
|
||||
end readonly def
|
||||
/FontName /LuciduxSans-Oblique def
|
||||
/PaintType 0 def
|
||||
/FontType 1 def
|
||||
/FontMatrix [0.001 0 0.0002 0.001 0 0] readonly def
|
||||
/Encoding StandardEncoding def
|
||||
/FontBBox{-114 -211 1095 993}readonly def
|
||||
/UniqueID 5096732 def
|
||||
currentdict end
|
||||
currentfile eexec
|
||||
8053514D28EC28DA1630165FAB262882D3FD7667933E8516EE9710995B33AD6AFA66AE56E3B4F8
|
||||
1A010BA2D16746155E0B46B8233AF9FC6FB5A1DE6E6D7277AEC5CE81679028F3B440619FB93E88
|
||||
614EBEE63F9A83374DA4CF45FCBBACEBE22717D34438C9B2E3DC7580F497AC697EA20AC096930F
|
||||
E90934EA8FFE999902BA55F2149DEADDCBC4CF03F530F526450856BF8F3CE1C247AA6810D725B6
|
||||
E4CB0C6B7DC3B7B5FBE22909A1ED01A6BCEFAE9A709DB1D61BF8A223420C27BC28535F3C5C58CE
|
||||
BD7239771F455E727EB9C9025F7B0B98D9C49F8A33E8C9A67A30CBC40719B9902A42978F54386A
|
||||
B019C6EED778074F809506075C7CF394AFF792A52C36CC8FCE79BAABF945F6AB3AE924FBF89F12
|
||||
D0D56822E09D7226051E5235D975B5A7E02610477A9B9148DA4E93861FF37C54BBB2F3196A5A37
|
||||
94CC7C8B06CB9817A184DD7B41CF130CA812FD511CC539DA6AE1E3D8D57C26DC2630D87CA276CB
|
||||
0B55BEC3BB4626608A4DE50E3CBF313230AFAA9E86F83366003B63876ED7072ADF068B03629105
|
||||
DE8544254F4129096C4FCB741029ED5BA6CB35A252101753C6C281596F941C8920384006DC05B0
|
||||
7524CE87D7417B91C09BBEB93B101B235AB55AA83002BBEB2985F027DFBBC44788AEDC34EF62DC
|
||||
2A09A392092F1A50F78EA5581DFC60B398AC14788E3B34B0668E36052A5CEE9B99194450D5EF58
|
||||
09CE4A135E0748A0B303CE38670BF1259F07723DE12F4CD22AF12BD694E18ED00771D33F9526DA
|
||||
174BDF8B8A436D9393EBE156CCA73F0BF8918F0B38391DFF01B58AAEB19CDC034A8AF404241B38
|
||||
76EF2BA5BCA0B558529249379A42CF8760EEA3940C75D8BB8E8B73F93AF59AD85BCA1CBAD644AE
|
||||
A6250A5D31A85622C0679181F4C77750A5B677F9E8E15DE7BF691BEE2D69968CA11564E06C0329
|
||||
26537AC3FABA055613A724B3963FE5D55CE9ACA3CB3B60A441545B5A0FC5997997B5A3F0E1278B
|
||||
22BD9261203FF2843678148A6F35DAFD8A84FB0A31C02D199BE33C6D5028BA15BCD58A16B4A2EA
|
||||
B46183B6C91682BF4D8FD64F91D8EE0AB4BE4C2F3B6563ECDD4EEC06069E63D1DB4C0444C4FADB
|
||||
70C16B6C29BB621E1F5F55405E90D965A6AB5870C30A02BF977C49062B104C6D9F9E4B1B1B1FE4
|
||||
E4A19F5B2B36DDD1B9015B2BDF27CC38376393DFA5610A2AA765ED36F113A7F8534AE0ABFCEA93
|
||||
DCD5BC0C00B77742E6B92C88CD296CE78F6DDDF463FADF15D59F986035CAD7998191B9002D536F
|
||||
D1578FA40E4B18D23164AFFD6C91D7B636497C86F743D14AB370FA25BFE68047223B3890AE5348
|
||||
BBD1A35D5B80579A6C1754EF5FC435A2D3F2131FC63525294329133007E8A2FDF8C3CCBB235577
|
||||
F0B8A91BDEB2648A833F63382FDB32E2E646CFF228F1F326F51E086D3023FFFC9185C666BF727C
|
||||
4AD617741FF3DF6B205D21D7C2AA1616421AC49E94FF2F1A04A33ED9A13218C10650FCF75865E0
|
||||
CB7F08D250D3511E22D34E28DEFD4A44FBC573C888C769600053C088DA2D643AD043C4339F7581
|
||||
A38D4CDA6DC5005E90251D38F1FBA1AC10C679894D096C7572DE0E6CE0B8B3C8281DEC22BF337C
|
||||
9D8ACC39B5A5030FC54E46C779AEF20DCA8926C5FE6422DB9AA089113A3E001A97E8762B68D7BE
|
||||
E7E9AABC8F098161B076C10A9D560F9094A41114F56746C6ABB9E9F3454CDCE50669B0AB11F795
|
||||
1E928CA3A37EFEFCFF97D42127A373A35CC54D054150ACC4851969E4C848EF44B9B2C2F314DA9A
|
||||
C684A09C35569DB4D0CEF7511AE719DEB3181C47E7F95FECB8BC2A1F8301350D7384E67B7EEAB7
|
||||
6EDAD4C361E8910F3A4538B0528E8E2338267506B8BAB757C203D9F96B01AA67534BBC736D108C
|
||||
376EB8500E121768BFA217A6D0EB02DF688E9F664B4F15FD5CEAF0EF820B15AEFF20C18103865F
|
||||
2C0457C39EA7F37FC5B1F02B45B85B91AFD59E3ACCF6392845FD5F0D197AE0DA7D2B992542CF20
|
||||
72AF36CD6DAF3E96E5B56F28F072D844A0114B35FCA75ED7B2ACFA9C71093A78ED1F749120C4AF
|
||||
661B8D6CF18F054C459A8B939B30A6D72E9349794436167F048723E1E18A04E6DF65584DB34B89
|
||||
8313151E9E59E504B5EC388EE6B744F5D7E037BD99275D7DFA5D2ECFE2538B49B315B3A6994326
|
||||
8FE326CEB209E407BD9801C65321F3180E00DFA768DD7733EBBB5BD1FE14A96A1B86F5D7DBEF3A
|
||||
EDAE880D7CFA4890E330A131C9B32E5EF275776B6E458ACAD52467570309F73B4E6BF16A18FE88
|
||||
DD79CFA7CB98E02F92AD7431B0474178BFE342DD6022BB7FA6443C7D8054D5CBB1055F515686A3
|
||||
2CF31102B435C4ADBE6D72CE5F5103FBABEE30CDC37580CCDB54DE8FB3CA1E43562D73B29788B8
|
||||
E1F3350F82DF5039C8E06D3B2191A750DF0AB9D2922A0DB6B4673E5226422BD81B58C058E5581F
|
||||
A8E17C9935BEEAD10D3EC338BF825502700FF94619611955A6D7DDF55AAAE6B1EF2F9EDA1E7EDC
|
||||
7D5B11B2771D03382A2594D9A08DDF522FBB8ED5183BDAD992530639F351586FDF24C4B9D9037E
|
||||
8B97E36502F7DACB52E4C4602F5224BF8C1FC37908EA64FC8A2A5F05902E4B8BEFBCFBDE971A8F
|
||||
82A99BDCCC29CE2677B832D08493D5463B13B25829BBD265201808D7412CB41A6B3CE3461CF737
|
||||
463EB19D3FCC05507A71AD250537CC05458FDB7ACDA9343892F3B27E215C572FB42D8AA9F4300A
|
||||
1C282AB7F83BB28FBD134716EE09BE26488306488CD8E869647493156D540B90C2288FF1F359D9
|
||||
9685CB6EFEDAA78FD29F1302C67E97B01B8DAF5E6D77E16885460294F195C390B3D6ACEF2383DA
|
||||
E3E4FFE6BA911C50F27B3AC9508F44327AB89DA58965079F3719EFC76B159B68328BDB139C1104
|
||||
54D7601E22D7E5EA501F805C5BF4FBA3EA051152EDEEDF0CC05D7C6765F194C5AEACD110816D94
|
||||
C6B30E978E4B07202AD3F748411BAF9200376B2FF1926255BA38A461A127FA8AC8C9B8BC3B4F83
|
||||
8A48515191B4A8C228FCB7680EA09D1EB9A482C1FCF5FB9320C3FCD37388EDE07099D0254F33BB
|
||||
AE55EED41766B96278B46DF7CBECFA52D0DF759EE64C1CF9ADD80521CDDD11B8F137C40F0EF319
|
||||
632D5FAC752ECC0A398DAE6130B3E01AEA8D6804A7F2BCF6844A5E74398E626003FB64BD0F1B2E
|
||||
99E3657FE6DCFD80B2F469D92EF076BACFAF61E14DF817C5E24EBD1CF9F1C0B4583F287E9E2FBB
|
||||
048A2A00023514E4920F46289E4185C539C27D80F459B32D5EB2D43275C91CD09989731F423E33
|
||||
5263CF83F2215DD6649A39824DB3B89350CEE31C6C07D04C9B679DA07A78793A4CA3B75F7E31B9
|
||||
901C4379B103187BD1FCB473A327E9FCC7D45C9AC6F6EFB2DAD1817CA2F8976550116F9C3B6471
|
||||
CF39F1843F07E168303EE34EA83A84E3EDCD145B453856AD21FEEB480649CE489A42A3116115BD
|
||||
BDE85F9F801D59AA8DDAE8603A6F778785C47E41FD3535F867A0C6EA2601492A64EFAC053E529A
|
||||
5D1A77FF58F784050BFF66694145C44603100D079BD633A0F90200A14D92B717D58D639C5E119E
|
||||
479C0B92DD6058791715D07F21646CDA08D5EF31E7F9D5722A48DCF8451B9C969254651801358A
|
||||
A13244B9BF93E4B1B4C952574A1548E8C0A49B57F471F4C5093FFCAAE3DDD38E80C33A101BF195
|
||||
241E673F671438EC54DECBD006B6C9E3DB67C4B5AB05B9162900CD66F19B0EB3BF559B48D50F8D
|
||||
CA100F63FE834A93AC0F9A0BAD4245E947CD848FA3277E24CADC2C477B2EEA0B2A339F0E7CF450
|
||||
CA0EF79D3A6C28598825E03FE55B4180A2494E097391D4D910ABDBFB2237275CC30606EC425B20
|
||||
472A229E8C778235A0DF2A002DA99A5DF4E83AC2816AE5229BAADEE4723AABEDF48C57017EF06C
|
||||
8F1C4113C3C0B584453C96CC454835159E34F00B6FBECB94A79D21425D14506D23D0A918770BEE
|
||||
69D60EF872BD5799A51149D875A8D6FFBA73830C4A5E0BC8D8CE28E72E9BCF3B32CC864A12E44B
|
||||
1E8B9934BA0D2EF9DECA37431E542E0861CC85C8A7974440965995E0F773506FB7936F6613F023
|
||||
251C315267899ED6879FE1FD27C90E2579B4517B379DE6B9219FE84842D7206C6614C18722D6AB
|
||||
5665B9E4294E178D8A141A3CA7F3413D922B4EFC6AC99F84870CD1655154E04E3C78DAB918F951
|
||||
5565D481F38DF8795940603CA0CBDE93F5455BB10DC043CF37342C03778F47ACA9BD2BA8502591
|
||||
9DB8199EC26FD75901809188CA821F99194480A7C3670D8B0B89C65A9D9FA372C6FD56075C3072
|
||||
E27B9ADFFBAFE39E646FC526DDEA73EB9B18E8A9D92D087A21A86C48DED12B0E11B9D04E1C1016
|
||||
9F2D1BF2E6E6AF8CD15028D54087DF5322503C931538C0E56BCA5CEBEAE300CD44C285EEBB5508
|
||||
7500BCD00B7DEC624F1758DA5E1D9AC0B7C3DBE5E8F1A7F87CBAE422D63E267FB7245736EB76DF
|
||||
F82B54B156921AA5D31044CB1A2E88C1D0B108C4512543C2D8F001A104E2BE729B0AF4864F32A9
|
||||
2FB8385A1005753F545DC69D66B1ED980B9AEB13B3A0921BB13EFC532152C2A258D88ED3DA9B15
|
||||
2901A965A8108FF88B834DFBA4D80CA96148BDB3E13C037515872718FB22FEB61999671C1DFDFA
|
||||
0AD97032B8E4CE1B3ADEFB01C6327AD2C492EC3B7439ED80E6BC296888225511FEBE1F165411E1
|
||||
A18FF41C2363D1538BB9CEF5DD7667BE52A28BAB7D4D8AE6823CCE5FCFD6284D4AC21B42B5F42E
|
||||
81ED445D914F558CADF62907E1C37EC0AED73FA6DCC88529E6379C30B9B61C2E72CFF7CD919C08
|
||||
B81C924A65EDB08776E3762A109DA8B55B5F89C30A2AA4335EF6D5B6FC91F5BB9031F529EF6250
|
||||
08AF9BD044416428349CE319F1E98BBDF46C95628DF86B62F0385DDB5288D3BA3AA48DBFB0A726
|
||||
3BD3CBD87A75B52E2FA4E6E74BE7E335888EEE6EC40005B39C758A4E06FF9BCCF75ED94D643948
|
||||
B04691E7C46286D7D611A238A07ACD1FFC9F742F9DE1F570C8EDD01C6C3C03A1EE45E0783AD514
|
||||
BC071640BDB313C33D1BB81D4C8B59B4437B58BDFFEA478464E828F4DED42C55C9DC3C27C8A867
|
||||
BD8E754069FC1DECD51E5B3FAA42B39B429DACE417AA2BDDC825D2AF88D08BA85A54B65B96F15F
|
||||
8594B13E09526BF8AB8A674DACBDCF1984739CFC1DD40BC2F64B1A4F7AADF93891FC191896A6AA
|
||||
CD01598F655BF7BF4B681832A5E08EF9FB17A505AFF213A3D2CD5C4CF2DFB6861BC85CED1BEA11
|
||||
9C3715324857B8604F941543B85D97E52801CC4ABB95649CA733E6C393F480E0A16963A2CB3801
|
||||
37215CE5802D673337E6308D46F8AE275E26F19746CB319D3E4340AE879DBB7FC553DAEC61C4AA
|
||||
56DEAFFDEFD42FA1DC5C45C28FD9F66E5D6F00489D53A3367BCAE8A81286E3A89F6091B43C245D
|
||||
F6C7B6F9C35C47D639FDD264DD716603D8B3BABEF8785AC4F0740C6FB7EABC7BAE61A4517C1BF6
|
||||
F69DBF9F009500E576409BB69A4853CFBC72438829B86D6276DA9A6A0EB1F1711F730638DA6B91
|
||||
8A381890FC8EAD040297C85BD0307A62CC45A5BE691D1D258CB9F9BB776A32DC6F3624E9C897B2
|
||||
3FB5215AE222438504ED14C1553662AF4EEC414B8DD564DD78F713B1470750E5D143A0CD8475C9
|
||||
C85DE3AA5B8D06A527BA8100FD346D7B091FF5B4242099BBD680C7F4378BA86D70CF9AF604A812
|
||||
E51B64E0A6F26A3E278B58C67B5A49AD185BCE7EBD99597DF1BB5C0522EA51701D654DB5E2C657
|
||||
62EC461A245CB956B0B18FD09BDB2CB0617EC2D89EC932CC5F989938DFDE6487C29CD8308FB3A6
|
||||
4149590DC7AAFA3C9A79AC31B80152B8D49CECEB7FCBD28FDB98001E95D3C5AA65D63A3F2CD4F9
|
||||
A7EA2D5BB4D820D4C0A0ED49AB0643574ADA5276A9E6DD59B019C49B17EBB7DE7F2B400C54C852
|
||||
374DAA0539F683C3D684775CDE0EC09485B60FF2122A0EA168B4528253FD3EED1C9FBAF78B0D7F
|
||||
1F1C6B509E3D8ECDA6D2E92C963319808EA7B268A3C37FAE564C84C78B450E67B2B69441051380
|
||||
D5AC704BDEE2EBE93D29E32B574A622FF6610DA773CA34210CF5D835BCB2BF121877D69B1ECB56
|
||||
3D694DA5995CF3F9C8CB525CFABF344D638EA8475790A055AFF046A32A8EC2691606B0F00141B2
|
||||
ADF78382AE4B6A7A16378D1AEA1B35C92E4DBA9183157A8F7AE96E7267E220315B3A00F204C235
|
||||
4C3350AD42833115AA3B783FEDD36D660165E7758F11D99EA3E8F0306F8989EE3ADCC5FB561381
|
||||
AB45CA683B78A35AD3BACA299770505F33E815BCBD0F513F5E7EA12A8782749142F94BA886B521
|
||||
64EDCB12EBF6DFB715C485D7A25AC051F71BF026D71D428320AD284CFCCF833756988279C2249F
|
||||
F4E2282520CDC423376238BB57A4C6A7E29CEDAFEDF2F224F69FFD6B291664C898BC5F049DEDCE
|
||||
4BB359CAE6F055E2A8160D24A96AB6E1CA0AD93FB80D95F7AB5083DA60336AF05A6DB33EA47651
|
||||
28F7273D09B3F0501E89CA21BD8E0A87FEA3BB92BAC38134100071BD46AA4B164472DD6EFFC697
|
||||
4C3C52B0B5D1849E1196D0D4B159FC4F7177D2DCF985BC6629DDDD1876EF83F522EFB7A4A7BD98
|
||||
98E439122195523E1825120A209F1D4DE2FEE3B9110AECE61ED044A1B0981ADEB82AF59B6B8FE7
|
||||
88B4DD6600098A4780914AD5BBF6CF66B53B642B0D57C4929BA0912888E995411C20A7F52E05E4
|
||||
BF3A2D7847ECE17DE0D6ACD79379988B2115B2469E39C24CE54A9D31114184F9865C07D707A2CB
|
||||
14A2F45B62A19C5E3ADFC090F2F53C97458EDF8EBE0D23A1680CBE18AA90B694153E8E9A805E77
|
||||
B878C9CDE4D6D4532B6C1BAD4A42F7BB1EE748BAE521686B11A18B9FB97D10229997B718EFAF6E
|
||||
EB3C223059083F3143E57DF2990229FEFCC5E91600CB3DC2602703F8256C663FF753B636475B05
|
||||
ECA220FF5D9897A3080C38440DC9C0095D3ADFB49C24E3B4CAAC89F5E4FB2527B54ECD34B4F094
|
||||
4D3C39657DF53FBB696C352E5AD9EA245BB4D61018E34154916DA4C227B2BC55034C67F373E65A
|
||||
A4F3A9838DEF143CBA0409DE99206E3D31DF19AE24189613B4B11B47359966B72624A83D88A897
|
||||
696E2CED831E895A4C9337DFE19483AA3F967E2A483149EFB53B53791078B06E43DC859F84F35A
|
||||
9201DD09588E695C707169258B18C7E8A72AD464786E9188E017125642D9D56427F18C8622426E
|
||||
4144451E56108E615EE15A26419F0AB0AF19EDE2988C982BEBBCC99506EB5D9D2D22940E3CB28F
|
||||
EECBCF8AF67F81F196D53462FAC860FA0076A902A785AC346A2DCD064294CE87602F3791D3E178
|
||||
88A5167DBB5FFF6DA15F221C47C50851FA7D81B7AFB2F7B8AE72566EA5EC5CDBE149CA15E1E07D
|
||||
43F42497A7CCE6E2FB21168960446F31071F5F101BAEA8A1687ABE5BB00F564CFDC8A41D04826A
|
||||
BDB6DDBAF8F02413F1E5E40446A74F64D287A16A70A305B38C5D58C40C80B2646CB7B9A8440715
|
||||
EA1A1496E10B1EC58357B6296548635A5709724B0858D0E56F1778590FA592DA34B0F5085BF1AB
|
||||
F06B5B31C7C1119CF65D17106A5A657C737D1A3289F74DD8258BEB910EA530E1406CE6D0E78589
|
||||
BFD383BC20EDA6FF09D8DF2B9232053C4DD8A43D659BD28FEE42E451C14C5BC39C3689B1225869
|
||||
724668393B0D1917A4F85F9171054D30F6E77B8210CEE239F6E72D55463AF4729DAE9DCF007371
|
||||
6BB69BB5C57EEADCEE8387E600A7F9DBB36A25FB3B31E78E03019A19B8470ABF9691F2158B6CD0
|
||||
1A834164ACD7E6BB471C88E31A3A3EE5FD793EC2B66B459DB7643AF4E99A683B7CF84644F3149C
|
||||
1D9108C93CF41A60696DCE71C0B9D0DB1DEEEFD812ECFC40CAB9E970FA0262D2428C515377043B
|
||||
C9111E2972EB943FDFBE04ACDF77259A2E16A11BF14223871B00DCAA88CA0E43E4CFB615395FA5
|
||||
130AE496BC9F039055520187A5A03A491760CA2F755C7E8A9237A9FF40A3E10837B4A6C5731542
|
||||
9BDB0A55A29059D73AB0A7C12FC31267185279AE9DBC0DBFB0E431CF2A094C4B5EFFE835D627DA
|
||||
FBED6C6F1E4993912FEF954036AD8F1554376369DC38C61AA9DA8E02233552BD769B3036992B47
|
||||
F3387D09F9AA1980C5312999899E4A4EF3C7BF90C8579C883D7B0BA2242E40F9A95501614B241C
|
||||
4ECA8CB31071EC6EB6CEBBB917A0FCD3B12ADD6046AF3790668D9AEE87DAB0160F37DDB2230DD6
|
||||
51BB701E72A9B05A998516EE6F506B3504AF675A9DECF7A3719B16253F94B1A0D873582A61471F
|
||||
B0F9CA6B9A4143DA90C60FA53F2D6C741F4D15E26AD2BAC61DFC0817EAF480D67F16D4A88183C6
|
||||
EEE75732772FCB0B31D149E2082AB91E9F2FD4C4569EC5FC46F1754E0C1E0A4EA3EEAF7A871DCD
|
||||
9B05FA45A170D3052D1734A38F56B7D3F835CB8D375E7772B389AC5B924CCE960EE53019BF1322
|
||||
4918E1672C65D14331F32FFC0189762EF3EE777D0BFE48D5AB94B498D097D79ABD0FCF53A1402C
|
||||
A94FFCDAE7FF694A99718B8111EA52CBD0A5F228A393852B2F9A1BB5AE74C39AAF9B8260FA6255
|
||||
A2946815E5AC55075074CC2BF6E3BF30F6B9477E6F162114485F80F8F271FB3100B5A6851AA333
|
||||
8B9FD55C62632BF3ED4ECDE95D8C291AF0B4E0C04766C061295095C3F157047A0A6CBB8B83D220
|
||||
623E2F28C8D1068C751C8C0EBDB1B0C92EF2E410EBF3DF9CA11624D481BA44C5B46424EA8F5E1F
|
||||
EE45A6157DB420DD1168C77218A55BE868AF011AD844592BAF82CACF37A614AA4173C2BEE42D07
|
||||
1D21C2C136171CE5E3AF793BBDFB8F4DD613DABEAA00127156A60BFA49616EB454018FD2226DBC
|
||||
1C31398BE17A926E67C3A9B51E54CC1BA91579AC3F36FA1C90C0497AE6BCC1FB9AC399BA49F855
|
||||
DFA95D303DF17D7578227087FEA07E4833EAB50170E4B2E1964F3227D69921887A462AA939F118
|
||||
2AF3310257B9DCB70AA063AF79E8D70D3EB52099A4D5B17F90F4D8D465EEED09BD4EC53811491A
|
||||
9AE9A2648679CD4551FB68F7A8A32AE41B5C1C4BD79E0E538BFC58F4468FFB81B5341BE9AB45EB
|
||||
05148D080B74CFB0E4F290A2E9A8B165DE52999A107608596F6DB9198545B252EC068C0330E1E5
|
||||
C9A613380C9421107EFA5BC4A65688143FD0C13165E2FC77705F1890E423C00BFA8C01AEBB6CF8
|
||||
094762D8E14CB390E63673FF5CFA983DEB170021104CD0A01407C0C4E4C3CDE146D749202B3DE7
|
||||
2FA97DAE1F89C28000727A7A7735DEFACBD19BEB8B34E63F0AF0D64F7F7A3CF3D8B579A69FD70B
|
||||
449E677ACB9C2059A4B800AF36B03224F0729CE60C4DAAA4312AF1144932BAA474164C09377913
|
||||
57E38ED1F81403D3D70E87AC620E404B67D176EA3FC388F0996D29E558518F321EF9E48C0B58C9
|
||||
D5EA596C020A2283AB53240B58CFB2F3A1CF9203DA24BC43D8D41AB27248A5FD3F1DF2D9C25AC2
|
||||
2BE2FDC79C3C9688AAC025E2ED0E2FDCAE9C01F5E93892E7DCEA21FC6A75C3B33B0150C3E5EA36
|
||||
A8BB9598297550155B6F7947218F41CACCD3BE58AFA2329EAFB9E21AD9A143B97218D0FC606897
|
||||
301D358A70705F155525572CDBC419518271ECC052EBA5A9BC514AAEDB63C164306A63731C21A8
|
||||
499F2290DC24D81A4E461B7452FDC0E2ABDC89A7D98EE00ADC4DF87A3767A07948308EC40C3418
|
||||
FAA51ED4BB717794472D2F0D9D4B20C8801FA37B8E595946A2331A30A2464275AE3AC8EFAD8A22
|
||||
7CAB2C93E118D5B06D8A71C290887CF7ED7AF4601B54B3F1F6E0CA5C540768B44B64E6E7E58F8E
|
||||
3FC5DBFF8BDD0B4A34A35589F8A4E85A46B3C6598D93666996D984E076F97A532D5FAA6C676502
|
||||
86979E208B03E95BF39B57DCBD25F21D325A2A6830F88476F9B8245FAB4BB958C9DEA3ABADF877
|
||||
6F4E8B710E2A8A34E8EDCF51F7BDBEFDA7536EC603C6EC7787AB070E4A1E347CD2A8A71B2E51B9
|
||||
EC40844FFABBF21DDE78FFB26E77F71D67D00E54E1C2D4C93C400BCAF2F420F728870C613A3095
|
||||
66E2CD17671EB9D17328C888543D2B07BE7B3673C3CA3BE4575EFCE4C41CDAEA9DE3FC724147A7
|
||||
62B48566F9904C89F56F21416C7D06BB2C4388E8AC2EE8405FC8699CE296ECCA953AC57A563FAD
|
||||
DC3CD09320AEA8141A5B8D40B7E36589E15C903FD3AA21A879216CDCDDF7A6A380C66977DB988E
|
||||
571805923D17A42138474486AD92D40E1DD87155F86189675A26686CA3237B74BBFE82F501E03B
|
||||
4C6926E604E58ED619EB2DF4C6489A26C4D45E56C2433BCBF66401994AB0EA8DAA93FC93ADEA8C
|
||||
C03838F50C47A343DBBD8EBAC78E2FE61369D79657EFEA08521DC8F24105495E10C45C24293712
|
||||
32EF31B24C63EAACC85C59864325429BF906E90C027C0C2AA5093B92FF293BBB45F4FF8711F81E
|
||||
361DA2198EEA0BC761CD8C0D9D3032D0ED03AE529072FDB7120F8C8704FDD41FE4E35FE20AB947
|
||||
F25C83AA2A2B1893A2A1C1904C94B524F03F0645526B886D116848B9032B76707F46C65678EC17
|
||||
D83965BC5564ECAB2674F38AB2A7BCD544E6BADFA39BC5DDD8E0776FA466D923FA75DE28F8187A
|
||||
63CE60F1B96CB9681FEEF4C432FD75A1B7A753112D79C9521262D9199AA1151475BA5C95E8A272
|
||||
34DD27F6CB2CA3D7F36457A0E16FAACBF59807672C8A08E498182755754A6722853AC9C5EC246B
|
||||
153F5879BC910AC2647B9517EC12307FFE30997DC2A96B6742F4C3E7A2978FE29A4DF5D19B8B97
|
||||
06ED7379EA6096D13B7C69BCFAC8D00101BF38FD6712F348A6D82E7E7DA0A6D551F4AAD036FFE4
|
||||
FE558161270ECA320FEE2CA914CB22470275484F10D9EB1CE7782E5336729729009804B7FA5227
|
||||
E301E841608090F109929B395894907E410F8088FE16E61D820206E5852A06E52F0487A1867719
|
||||
EE4182F57FEFAED44FF16C5D07F8050CF36232368BE568360E8E5E36B0A389812C4C38D6E06599
|
||||
B394023C5AC862F10418D45B897535242EA4B85C0B39889CCB51350244F360A7C15FE9BE8D4FEA
|
||||
4DCBD99DCA136E4AC27A6232B0E4051CA30E28D7334FA443CEDEEA4D9D1E47106667C6129E40E6
|
||||
8E033D54E8B41FD0B8C7297B92C641D4F31C4E8D4884590678A90BBDA4A0550A7A6608313221C9
|
||||
E23D40886A154FC3B81882E2E2A239B4051D78FE495F336BC1B157EEDB434B31CAFBB9A14D008E
|
||||
DE727F5949F4EB5FC2104DAED0D1A48113172099A72D05AE12771006FB8CFE05B2368B9B42CB21
|
||||
EF2C18F61A8C4379E8C37C5CA661E79C8DE56AB6DA4A6364150FA27A2F94E56713C674F30C0EBF
|
||||
F9B725B754688D2E8EDABD5A4E0C8595BE5BFF2313BD5B53DF71282C6C2EBF49AFA6004AF2CA21
|
||||
577C3F1CC44FF3C2B4025D914D943759060B1106E062957CD43E01AFA864140B0002ABE6A325ED
|
||||
10385B3AA72C49C77EA067401C7F155F282B96397B84E0E6DD4E28480F4D09C1396E51DF7ACA92
|
||||
C47732C752BB28DBF2FE284A689FA6EF092A0B8FDE8253023D0C3A2F9437B57C6082CC5C88E6DA
|
||||
831A0DFC932A009FF4ED36DC187562EDCE833EB70F3E128F918DDA9089B521AB1215ED6AD8328B
|
||||
3371C660AA42EA386345169CC9936C74EC5B9442F34E43E0A6648C61DBC00A6595F4F27F3E59D7
|
||||
2123B7F84D4496F80BA60C3FD3B6DB97821E11DE92918F74DCD48CABE3A5F4BB20606B7232D1B2
|
||||
3C86ABE6DF561F496F45BA03EC89A84585CBD62E0E3C1E33ECB2B2EC80BE4F65958EBCFE42BB29
|
||||
43B6E396560BADAD5DF6E3DC4CF1222AC2E339A9A861DC8B4A85449918A5BB7C3E0A449F392B42
|
||||
192DF15A0C9F0DE2843DD0BA26FD8162734FBA4DAB878F29639B95E58CA740C33B618293908388
|
||||
2530C11416F949D4D1E78D5A61549A21AA6C038FD4AA8EA1F65FD68AFBF9BCB4797512CCE43C69
|
||||
0650A8648F2E84922B34A064A44060E9010C6CB700AFDCF765F16A76677A4D60A4A4D3BF23DB87
|
||||
C411A480F2FEBDB08B45582B4F15B486225512D4A0123126B79996FB409D9A1C2CAD9C4DCC0E26
|
||||
2F20B16D218A03C053FC84A52548AA808B278355E897B0418CC7710762163A97F5291D6F4C2DA6
|
||||
220D6A4A18F7970326BEAA3B11CDC64203330B73DB774EEFDEC7C5894525328817AE98EC67D06C
|
||||
E232D3213BFE16CEA3B41AA69A8F573A69EBDBE40BEC1E25A83B89378643F8CF5BAE906389A403
|
||||
B8BB2A2A073EB58E4676C55E9BCE21DA1055E61D89AFF8E5286F80C97BBEE472D1337A9FAF0900
|
||||
576407AC06AF4E2D2F78E262CD203EB3094280A5F406B261C8F481B59F8833A0D0EB6B125EB7E5
|
||||
206E2C89A35B35964E52D0B3DBDAE7008F0C299C0498DD84149AFFAA9A3377144FC90ED52C6AB6
|
||||
E2544ADC6CC58B73F3898F7D0DA5FDCC54D9E676AA747894991038A5CF2AA4F65BFBAAE4D32C82
|
||||
1A21C5B284FB37D3DE45C2C92B29C8A3C911B01915586D8C4D57C5C6A0F1BA3E9D436B523D4D00
|
||||
C0CCD3E7EEC13736EF20E744E1ABE9AEABD32931DAD3DD2BC88388105C65C211C7F853A1C90BE6
|
||||
51645E4C9793B0F95C1FFCD3BEE11994F3C05D444D8C2511A0D5468457D2F4E749A5927E59EC9F
|
||||
85F69D5057956FD0B70D69DBAD0E8DBAC7EC1410262929F7C53D316333375F23E6B686DDDF2AF8
|
||||
7BBC56729714372E5D5B04E8BAD8011718211293A3402CA94AD423362745028B8BCEED09670183
|
||||
7A47BA659CB282CF51403ED3E74EBB6D51A79C6951EDF9C65828A0F360D402A8593CD484EC2AFA
|
||||
E543288B28E89ACF7070679F4DD79E2C98E81D06A2EC6FA93F4DD34DDC143B56F5734AC27B3F3B
|
||||
FC696BEDCEA113F035249AF11C9BB38A891384E7F4ABDFA8B7F9F9EFB9CD5C7CCE4FB2CBCD1624
|
||||
20D265BF6D62C8318043E37FCE4EB54EFDC6B0AC22C86BBC2E1C3F8A179BA736ABCA0686CCF489
|
||||
1EB7B9F6073791F7DFE3A4EBB89C17EFB81459573F62AEBCE3751D7C2FFF6F8BB1F846649F1706
|
||||
F06CB4078914BA7A03D9A2F3184960D6F7D0D15283267BAB1D3A85C6743F57B2372958BEEFDFC7
|
||||
088224A09298E43ABA58DD5F7E181B3055759734BFBCE114B8D10C104CC9AD471251A993709571
|
||||
27E120FD7CC83381C321E1B607FE7EDA1D7BCC0420E04921B3E14FD0774987A6277C5C9E94BF06
|
||||
3BF0AACF88D14438067509DC123972A3C63545D7D8A23EA7CA721A3BB7611B42439949C537369E
|
||||
B5706C4DF7ABB673A5319FCD42C4EA0B876A158E476DBE914F129FF88C1FDC6FD9C81EE073DB7D
|
||||
81AE7EB717CC78420C08693C0ADFF3D5A6B2580FB03FAEE2B28B68368F05DA7E6164C0356D81A1
|
||||
736118C656798D2A59B931D337B36983851B846848A1AB2F18717A1BA02B5F86559FD693CD965E
|
||||
B4F334FEF23B3C7F64CB1BBE86ED595695CB11AF4F32C26046059E4DCDD149EF2E47D81147F375
|
||||
A8432FA727386BC5D5D509711A258920F163FA24A7C7B936BF6F78DFB85FF1731670885DA6E7CF
|
||||
92C36B13416CB099DFA12775332013B5EC11A4B1884E458EC62BA2D313625380E875653529BD18
|
||||
046C1C6C4BFA4885484497174F0C73DBF92B1921130F4398B76B6F5495725E33E930B677D6A60E
|
||||
E388F5699F5347ED8B520F6AB9B71A9F417BDA923EA6FAD6298D253BD55DD27806A53E926604F6
|
||||
5E51E217DE1A3F57DE33B9CC678CF0590590D174F6822236FBEC7234BE06F07F886B408684CC84
|
||||
AEAA429AC7240BBAFE45121F40D01938AF2C5D247CD696255FEABD9159256F51689B339A7843ED
|
||||
1763FF2B357E5ED39FE9E3053A74C588181C15694F0CA77FD721CE0AF61D68B8CE913124888383
|
||||
E51F4795874CFEE6C13B30415D4AA6377BB37DB5E2654E745D483B6FAEDAC975DB56CFEDAC6264
|
||||
C935D83D0372DA2B98B84CAB5450AE2335E409EB7E210451DE1FE08FC78CAC720B6FEE56BB6DFB
|
||||
5B3D83EF2092E890CEF54412FA3AF3F92AE24CF4E53F2CA48429A7EE2DDC34EACACB484CF02116
|
||||
3B303B38546D9799FFB37B0D5F9394108F518AC824FEAA68DAC5B5159DFBD469996F80F1DC41DE
|
||||
5AB6ED10D3FED9A298F39483052311BC6E7CADCE546AD8E65820DE1F47AF5882E9F035ED64C3A5
|
||||
F1368E1AE38DCBD80F4AFE0DC427BDC881110A292A023D8922745EE3FEEB057048CDE275AC0E17
|
||||
1681A3FFA7264AED9BA03E3FE3DF81A463FE2AE5B362BC89920FB6A6A6FF1CEB9F24E61B3D0219
|
||||
6FF0F2837326DA8F943AAD0317F68B7B3F81457785FAC57F882CAD078CC502D2AFCF64260EF779
|
||||
461D622A117E5DA766F2FCC7033B87717628451992EA4158A16FA3C889226B2FC0540C220BB480
|
||||
FA2AE0170E69C8FE97AB89AF3A5C7A0A398F34F2FFCB20A56A1D691A303A84AE09FF399497E638
|
||||
4E8EB6FDF67D941B424C84C58B9B5FCA6484370467F6F0DDD5B407156F6A41422CEC15FF38BC87
|
||||
7264D0558AB3A84F3B92FAE804D9F15FCA39F4ADD22821E636F01C3F25C3DAAF48DBC646428CFB
|
||||
A690373961CEFCBDF1E747A735716FCA30AA72F3776F279E8CD6D223FF9A3C133CE93AE7B4D901
|
||||
61F1B2589F51E33387558D96ED493599554BCD3124D9F9E4F85076636862E3FA9E9C33704C0716
|
||||
684E2315AAB19CA54CD8774EAF4542CA2AC861C186A9660BD1FF972B341B825A7CE829970EC32E
|
||||
646DAE9103E1AD2F337E880D3149000B1A4C3703EBA589B9D6324AB5AEDEF54102057226F43BDC
|
||||
BD4C2542596218F50F3D9B8BD86241060E55385CF40CD1BB32D3361573B645D09840CAAA9F692A
|
||||
5802D4E6863B23EB526834FB9FEC4C8BECE83B1DDDAF0E78EF6CB5691A83C2F45D62CD2D7BFED1
|
||||
6B6B1844942E43E7473305BF88551F0AB7B4DAADEB544E5344D77D7FD76190FB008CDF09D762C3
|
||||
E67C3796B1906E2F16A2F6EA46E0E266520D823B36F5D30B834C75E2A58C97B26B07A912F30B48
|
||||
9C8DD9BED4A4C76A9C4CC099AE2524D1B760CA6A1047CA8CF682CE6E6D7532E132477DAFA145FA
|
||||
B571DFA8D9690C87FC9F7BAD55ED0FBD266E3C3CF618D94D2F0796C1AC2E86CD06C8C671A2528C
|
||||
B5331C751DF60166841FC61A2D498FCA1DB077C8AB3FEF45F3C918A062DCBB3FF10199B62FACDE
|
||||
9F6D7633603B3A4DE267D013A8C6FAA0EFCDCDD7EC38A82E9EEB177CB1AFF3A22B590B9F2F00EF
|
||||
B44B5AA6E1A912181DE1F5E0BB6253F63D47FE9F9E6CBC3B4E7E5AD767841B7FF40FE9433651A2
|
||||
9B70ECC43C193A34CC5271BFF7682F5431B32E10B60F8F776168EDF198734846E93308502962F1
|
||||
7895AC2A253D367C4FC280EF45CFB287DB362CA5DD712342F7BC1DBC91E3F014F6C9CBE60757A4
|
||||
BDA19A16792D98BEDEC85C5DEBF5FEF45C1ED6A9529F0C071ABBE824293650959BE5446B21A23D
|
||||
76FD9575729A7248BFC08A07505D539DCDC7E946D96130EB592DC2C5B0BC669EEFE149BD07741A
|
||||
C388859D10337E07E3FB75132BA943BA0495834E297FBA2AAA671E4507FAC24823234FC0CDD166
|
||||
49C5577465675958A863B64683DE16F205F3FD5C00258D590B1A4832B094632DB6EF8C2829F753
|
||||
918516633859AF29552DB3E6D1F74F5AB15BA7216F900D3A708317B971375D11D4F4F9BC831299
|
||||
2E751FD31D0DADA44B0CB303C6AF3B3A6090B55CCA087DD0F4A16B25CC2B1E249C4F08622AB6E9
|
||||
D16B938DAE0E57E441151DE90FE40A7DC4DEDB300C99E967FAD2A1808A4DE6B106F743DAD775D3
|
||||
0BEDAA3C9D18A93F5024BB89887D373771EBFE8CB04AF4BB0B17B3CE4208D401E1BAC23F36241B
|
||||
4166BF66F2A7CE59A240396FE8D6F37EAF30E1482639ABAE1FA3B05A9F1A915BEBCAD0C39EA72E
|
||||
7FDA4326F02649B5765ABAA6136A53E96224E5320D8FD9CDB0C354EB729FD37302078E4418AC5C
|
||||
CF29DF19A686C7031AC6BB28AB99608F3D92FEEE1D795E444B819624FE3BA235C6116118A7BBE2
|
||||
D3FCA93D01096D8B39186FA74D112B2E9548D3F08909F19F34872AB08075A3586E9674627E2DE2
|
||||
80D2358F2D4A39919FD4359E3F3016293B5EC420AAD2EED0DA0621C1F4F67FEDBCB3F52D2475BC
|
||||
697F9637655DE73D38D37DD7BEFA8FFB241D41009B0CF30E8F749BAB37DA0E8A21873647ADB342
|
||||
C2D34B19C195B6FCB0CE92005ACFF149DFBAB097E7FA7D456C774BA66C7F901E6B627EB3D8D2E8
|
||||
64ABED0B7B43E036491486909C67ACA1BE8E375F3CC269242FDF813720ED71114D65B5EE33E2A9
|
||||
BB4D0025D8703095458592CFAB5F1D89EB134B4C74AD59D12B04CAB6D60775D5F61E9EA9F549B8
|
||||
DFD662C1DC2E67912A7C83CD6996718274D196DE9F8DAF382C05B71EF24ED35D23B92A63A8BD06
|
||||
BEE8B178A39AE50669135E28FB18752C39007998AEE3FECA68091FF94531EE2341731C8010BEE1
|
||||
95CFBC398F2A6A8B9356BC9315C3C65AD4155F577275CB4697AB8322149F68B3F49E0D697B5E9B
|
||||
14EEEA36572128D2CB97299EB9039A26971720AD09DC033C5F3E72A8CF5099F0C661F061AA73D8
|
||||
F7B7EF6A3231D71B8CA31D0F1EF511C7C43F67904F777CDC99B99EBC339064F7873A205F766DA5
|
||||
1979E93AD7987BC1046E08584D1E0BE1D6A2FEE34E8AADE64624DDC3113DE99505D10343A5D92E
|
||||
D737201CA31EE3A14EC98EA89090BD0CA90694ECA4D225E29584621EE6621CA1D9E5CBC7A7510F
|
||||
4EDA32274D13D9293A786E8723D3E49A5F647B98DC14C3C11141EF875CCDCBEB9812F0FF225598
|
||||
AADB836BAE5714060DCBF2CAC0C6C042F6B5389EFC01776CDF4992A78C371A657596BAAC97738F
|
||||
2EB75200C47BF7653A561983C7ADF807D676E25BE355F3B76247EAB21F32A8A0F010B7454848C1
|
||||
17EFE1705F67B72E1CBEFFB821F839FC141699507607BB181C68A360366F0167F9CC39DD4D0DFF
|
||||
8464C8FA4AE47894BA20D5DA5E40C604BEC10441352A3EA8890CAFFA5A64E0BC07D8645660F9D6
|
||||
F830A271719846CBB7A5850E17E3F3924C55951C31F7E6ED1CB887FB95CFDD7B99746E8F3E773A
|
||||
EF8EFAF5071B8E41A7755334C2E2931AE15B7DE4E64938286BA03111CCB90AB09EC39CC12A8A45
|
||||
82B1D54BC5140FCBF51BA190A6A439C81ED22E0182A1083AFA1A03EA8A4D546D6B564E618D553E
|
||||
D313DD35D5E1FFC8D7BDC15B1F4E8BE094DDA24F0E8109198ED8B0810F5D13AD2A9C97ECE518B8
|
||||
377E054CEBB3B85EF73B4C4F0FF59A1F727131B00C5E4A1E3A2215D7523E7A80F32CD80E21BF89
|
||||
F10E5E93697448D743518C0A5C5905365C3E80C2C3896D36424006CF72B613B20668792F0C3903
|
||||
AF69A59FC29BA87633BDAA063B27CC0DAF6882B0378499F627FB184A1F3DF2FAEA6DCC4333E1A8
|
||||
4D62DCC8BBA596500EBECF3C5353893BD07F7D282EC9F8050D892B00972F99DECA3923C5F77BC5
|
||||
E62BF3E9F78C268AFAC2C00F5639790F2C255A41A3C660916B2CD25D2F075D6FCCDB8ED7780206
|
||||
990039B0A2440E59065A07418EBC53D7F35F4C1FBD10ED357D3B25E1B2AB42EF8A0C1C1BC30F62
|
||||
4BA98E317A9FAF0943480765BCB5DF0192DA204EB1DECF7766F4F57D27209203525598C4EAD672
|
||||
DFA16C99E1F5E92EA7CB142A1B929E282D8D3257E898D89CE32B25E4A0649EFCBBAD87441B2612
|
||||
372C15922BD6E6E46CAC07871D3A903FC9A16F2608AD8E2BF2FDF62CEC4D133DA9F3C371425418
|
||||
0987F8CE7BF4E907A63A6624A8BC08511380234E3B9F8E9943AF99DE6E1943F7055ED5A6467D71
|
||||
97146BA48B6C6A9B6802D2EDF7F7B0C55C66E53E94338468C334C4BCFAB842E4E62CEF3A86D052
|
||||
FEBDBF6059692E5446309E6AAAD7C3AFF70864F2F6D70AD9AD75D2AAB8436A750580C3969317F9
|
||||
850D7BF6EFDD3EC9142712F8611FDE2948E3457352E299C81B20ADA11055AC1162FD3CB67F34B3
|
||||
DDDFD0FAA99B5912641FD82C2999A16AF3110D4CEDF7598A402446FF14AA065979F32B11511B7B
|
||||
692325EAB481B179CA6BA09DC0B0F2C6278570C6E93592093CE5EFFAE490619D58BBA6906924D5
|
||||
F9107E2CB71FF8D826868928F08A3E43DD6CF61CAE912DACE89BED9970506489CF6966A31A360A
|
||||
AAFB25EC26735DD44241FCBDECF0F8ABB89DB3410D9477D4615A13F67E082A8958F8E1D1FA730C
|
||||
4E9AECC71075FFF0002D2013BC8F1ACFEA24BCDDAC5591D8740646157EBD7606F66929F89C0BDD
|
||||
57ECF5AAF3E99CBADB9F5C9F70ACCAE2B7E99221F7B489DF9042B80F24C9B5675DDE6BE8098726
|
||||
98DEB1A014F0E8E917E17990162BB9B149401CD4EF82D47C53AC369CD89BB7FBC2A9283D9114E4
|
||||
1BAF3D17A717B214C60F20576A058BC603C8D2D0E1FE42F473DF6491ED0F3DA6D960DEDDF80D64
|
||||
A23908E8B03C204EDC0F9CB787B8758408188BB2F0899519B826FBCCFF69978EAA8499E38EEBC6
|
||||
CBF6475A1B8682E6562D5A1B538303C4E313BA8C63A2442D9F182743FFFEB953D40E7B71CFC867
|
||||
2954CFFB39B3DDF0AFA03687F3FE8E5BDE44F5F6E9D3DACFAB5178239DDA89FAB6ACF15D46676B
|
||||
1E0F093DE8FA0F099B045AE0039C2A4AB450B6CD6D9FB9A0F0A16D31CDABCC2300A449DF463B4E
|
||||
37988EF16AB0A56E64A30382741AFCCF386EB6F41D2B8E99F1A1F63C9EEA6646A48069C736EF4A
|
||||
C5074FEABA3FCE00F33B1C4B2E0442175127E022EBAFEF645A40B8FE006C9FC16812FE62468B31
|
||||
BE648C96799F9E227A2E96F629EAA1FA0C26A7DC8EDFA916059CAD8DDA35BD1DFAE4AD4C6F4E92
|
||||
D4B89D862C0C4EE1C458F7E9BAFD67C731922220A20C57E7E84A92B14CA7CD0C4E6BC1467A7543
|
||||
D97A1933BE0C0263E0ADE5F9A4434C45C17576314946B4825A07417D94D061CF0B71AF2F1E1F8B
|
||||
7030F0E7210A7DEE8882E64DD777A5BF247EA5708607E2200AD0EE450225CF17277A97C13F2642
|
||||
09A5F83A46501CAF0AC674596379FCA3B9B2C71DAC24106826FB99ADE52A978B10C4408C637101
|
||||
D500C9198642552A88184038042E3E7193D6AEE4B65D706287C60375C250B6547205D84938D4BF
|
||||
FA8F71A2596F5EBF115D2386FB639E37286C4B0ACE6C45AC4E0A3BC02DE8DEF7E2628D6C4D4D2C
|
||||
21495B16D6FACECF7783FD44E20AF622D2F3829BDA0D9326A46C13FFAFF179A740F22483D99E05
|
||||
82E81E9DDEA9741F916A13C1AC247E52705389A75805C01FD9B361EA097A7D47EAB1DFD13D9111
|
||||
86E60F0B69823C6E0402F51F66D3677F4DC68B83B8DBFCE9A9769C9EC6631AAD5484738C024D1B
|
||||
DB71BBEDED98E518D3D8043B762FC1A3A17966B1A3EA1E59585D23B697D988CE36E337726FAD4F
|
||||
1192EFDF2CE53D58991441CE981A640CF683D412CFF40243A0C5959A717542756E185A4689F265
|
||||
D080FB0D762EBB2DB9B37C47A87E9FCAD6A8C032D6C914636710D9CDB3B082FCA62907E93DC849
|
||||
8998BF5BEF3BEEC31EEC205F536C39B1ECD0BAE888AFB1E43CA0978A97C1A51E1E822A9BA9E7AA
|
||||
27DE81A573C822C8C58D62186FAA9F326FD31AD9641DC196C3676F32171F118A8C500D564048B4
|
||||
315C4EFDE53CCCA5D19BF70E6C0B9613037E95DE267B05CEA87AA3C3C66A07B266CD5F7FD39B8F
|
||||
A6B4D8E72D8F4DFD4FA52A00A1D66CDA36711090FF5E182416BD3E0BD7248426C4E7F9F02CE817
|
||||
88B7D33AB94AC6F41634DC7E622BC11C1D2249915F21CB9B80713B106943F87CC97772A9B84C63
|
||||
FB5F13771E485967D2292BEA3BD017C6C6061DD0E593863C5ED982775274C0582D715A3170CFF6
|
||||
B895EB61F999BEC8A5528BB33282F22B9675AC71A489041FDCAF51D51A19D81811025440EFB49A
|
||||
50C1EC14FE04596C14A7DD8F4F9D9071EA40328D21D05E89267E710E704FCAC607D55E9E3EA88D
|
||||
63C0EFAB004CE589474A3945414EA5CA9A77C6A7E1CB00BEF416931CBB42625BE1D4D892616676
|
||||
791D41E6986F98AF29DF13A42F086546DA429C9FD464AEB7FD8647276704ECEC2E3282016C931C
|
||||
74DF9DFDE9218A703ED29989AEBD5F08480F63994FCB03BA872C737B33851F164B6EAA40687E76
|
||||
35C82BB6134CF945FA1D074441C150B32CC01417203FFEFAFA07D4E6581CE31CF48FF6B4AD7103
|
||||
896C5B120ECAA67CADED19B6C3E1C273954AA518B112478ACF06F57C6F631844A781CC82A18283
|
||||
ACD80EB5BAA7A08D6910EC9C212DC483C31FAE516E286F735E616E46239076D1860A52382B28F2
|
||||
893E22A5E81ABD92C1E71D7D73A6F75BBD8EC4E62975F6B13B83431B93C84CF8B04B5923D43209
|
||||
530261BF3D92221485111B8428D0D347BF494A3DFB92CDE7F4FC1EFFC6E7B0E58AC3000CE36C2B
|
||||
E8194932A52702604FFF93BBE313B41DBDE474DFC3619F3A861FC8BE35B2F2F72E0E0D76D2CABE
|
||||
A25CEFDBAFFC084CAD9B8C56F4817CA2291AA2E05F9D5A47CF83EC6889A9CD709095B531FC39EA
|
||||
9EF7AFC813814806927D226078633A71E92455A4347B07DAE5CBF9448CD54361757ED686809868
|
||||
79B159F3D906A4469622BBA3BC63921BB45E0DBDF4E6B412C576FF8D1545C258FDE4AA76E3A588
|
||||
C506467395AA8EF1F5C4D42DA413D42E17032C4994690FF655839E65AF9352E70A0B522353D154
|
||||
D8B5F3278D8596FC07744708BBA8220190AD78AD44A4D97F42C57BE89E281EC8EAA3227DE396C2
|
||||
51D22BDC019D95AE8DD73D01463DF9A9654440314B2A8AA78EA16EE5441FF358C83934E5B22DED
|
||||
527050FEBB7523148EA2CCCEDEBCE2B19608AD9A03321108EE9BB0AE167CE3E996783DD7FB22BA
|
||||
6DF7620741F7ABD1B970A72A7535B3C43210D8A6F87389BB4A6BE7BA1A4481383D448303691368
|
||||
04F99FC313500F5E064F5DBFF1194894B9F120A669D67E5C321B5EBB041B9CC9B85B2FE2DCA0AA
|
||||
0FA5B2B389BF1B0A60498E425D31CE00052F5D8E24F04E01880E92E29CD963C99948876D9DCDD9
|
||||
306DCA082EE3A8BFF3B1D4A8CE9302B9DA4C9BBEE9BA9941C7C19A761F5699F9F8874E86597A92
|
||||
46A156B1338435A1DF700BE1E6D365698B99EF460D558DF976E7CBF9305226FC0BD8EEF41CD8C4
|
||||
5659452C5AFD8CDC6A7681883B460E34E88A0346B5B41AF8CE56542395AE7D9EE630C1547BDE1E
|
||||
EEF0464ED5D8A59F487422BF14B69CAEA9FE4B44B35E8C224A28ED01FA3F478A132F5EDC9D55F9
|
||||
D53B5891DBBD462F35C373921D6E062190C01840AF421AB8884F209D3572A3BCBBE0061E7D3CC8
|
||||
0A40259088D0A7F82A865776AE02979749394798E0A65CC74ED6B4E7EE07062060CAA5889E324C
|
||||
284B40D11B22AD49144797F9E2852692199840586D98003C218D355F499A4B4F3CC4ECE85F043C
|
||||
8B17448EAB12502219616E73FBC9E024E002746A4DC4A4746CCE089B5BDA14546CECC0AC036862
|
||||
1E5EE5F3333AEE176866F22F79E7C4B3C4C0F013F019A8423F0BDFB0BD069CEB21AC533304EE10
|
||||
DA6133A3909B0F2CCCB61084F14699C7BDC7FAAF7E08E5A978270D2FDBAE6B5E02B2801217605C
|
||||
788C9899B9B82EFECB9CB02AB2AE5FB157D50681F1D43C159CDF46B1F05491C5E439F24A9D0BB5
|
||||
EE1C2F520AE58E4628981F03F36957130C2880C2738C84C87DCB79EB5C7C130EEF0490859BEEDD
|
||||
FEA0C624BF8265229826292F3BC6FB29A27A850A6D69087568EF9506DDE2E900B1C37EDE3C8605
|
||||
7E6A0E97C178A67BECB622405A4F99D5E0F9F9B9762AD25503C2BF02E5C36AA819BC8C37141975
|
||||
F3AB1C7E4C4418E5E56D2E16BF99B856C47BA738ACAA7068D81E76A24F197C74C04D3E72CFDCEF
|
||||
B6EF052EA7A436105D27D7566552311A03E29076296D4818EF7BBBDA18AC6626EA7BBF3CA28EBC
|
||||
0359E0F66ED49C89AC23314D585524AD63B48DD63CEDC066416D142583A75383F0FA138D53EE8A
|
||||
FB81CDEDEBC90B676373B712485726B8049EF6717599976972412A75BBDAD6A4570FD95F58A4DD
|
||||
043424F7DA4AD1FAAB8B8F974B955704B634F9C3CF0F297EAB66218CC678D31DB4FCAA789DEF80
|
||||
F13BCAE4855EFD9F86251A4A6A746B157F61905C001EA4438A1F00AEEE8E161D879546EF2BAF6D
|
||||
40AAEF9494E127B291E3DCD29941A52563BC402FE9EA357B853A21B4E50D5BE2BCC93912FDDBF6
|
||||
B46A2DD3AF397F0E09E39AEE129F12ACC6AC407426102766381593D73933F41C08A6D293C88374
|
||||
0A51B2102AC1A3F71BB46BEFACAC04D80532D6E36D89C716BBA853D447200FC27649E38580EC1D
|
||||
A1728D07629D9676E2B7CDE31C46A31DF5F9A9CFD04EBEB1797BE6FBC58C29C8C135259BCA6B09
|
||||
BA7292B965358F6C79B75084923E0BDC1DDD214A6578DC4A4A968F3844CCE1216ED1C1966816FF
|
||||
99B4B7CDACF2F3D363AFA381467328D72843D61AAABF4B752E36B334BA23FA1D834DCC959B4DFD
|
||||
DE5C32DAC6D5D3DE385FE3791EDD62551101D9E219B77E2C51CCF63E219C51B330F197DBCA948B
|
||||
3727CDEFE782BC7513A9A11045F0F184AF1DDF2FB654B5CFA2FD7CEE4E198137CBF8C16C902FF2
|
||||
B35FC7DDB8E769750E2920895758D853897EC2C2E79B5763B88530B4A5A4E10A20A71E7991CAD0
|
||||
26F8DFB9EA166D8B58CE596FB9E456AE276DB602716EBE339D81C15E62D2CFF2A356B97B7A6D70
|
||||
CAAE6276DBF3E41D995CC20B76450342314805FFB74639217E2316CD2FA6406DD5A88B6987EA6F
|
||||
A23E620A461B075B81DE8F4F2F4AF703FB16C5166E9620A50DAEE9827F6E05C913B1B07C70B550
|
||||
A3855F63CB1F18B21B2C0B64C930FA01DF40503D486E3ADCD31FB244A2590AA19FDD395C1E52FA
|
||||
833A69A0D8DB922897291EBE520006A949C6228520906590426DC9FC298D3B4909DF305C2B41CF
|
||||
7BA0181A437C88BEBFCE09FB9DC21829ABF5CC5A72004F7DC1A04310E9AAFEE3844528B52C6034
|
||||
06DE4AA5FE8A70DE9347DD2D129B9D0C96B1E2B8B67006B4F6763162ADEB702739AC0A3F2F4B3D
|
||||
C1181A0AF575A90DE3F4808D399D57E4BA2AD9C33AD87DEF44E1A72817B14893E7344BD33DC104
|
||||
6583526AAE6FB4B19B7A4890B3B38B06DECC81F7C8B8754924E32F09F1DF35AB1E63918D643BFF
|
||||
E12EE8A4EECD816FCC648883E67B8D8C3D37869D75BC0E38CE6C213E17B624F5A82604922E4CEB
|
||||
6047A7002CC260CAFE7E501E7DBCC71D08F0C0267B3391D58C00F17322E18A88648B59460101C9
|
||||
801950A6AE05F90367E1D0B2B68AA7C82997747998CF36E2BAB18F80B9225BB8303D9C68ADD86A
|
||||
AFE9DDEB4E7AA39B3BC61FAF63477C355C7C04324ED3BC943EEEBA3BC2E2C0C156C2874A3663D0
|
||||
1C1F8EA826A1DDCA09566637D4B5AFCBD2FC112DF0F35E2C0D6F385AD575C1480DBEE713527655
|
||||
00ECDBADCDE426C3B33781B4FC5926576708998537EDEF5AF2AF65C0198B0957B7C0C822B033D4
|
||||
8D3B547A32FEEA3A45BDCF869287C981D3EA1BA6928944D62DD3F4C21BD2DB628C1C8707B343AA
|
||||
97199ED1ACB52CCCD0822A4538E12FAB15D704812D19D04C7A0A4AA1B1B360FA6A6876A8C79CB6
|
||||
4E0EFF153C65C1F0226B5DF7100BD9D0F3CA6567BAD1ADB1E695AA440579A8B643AD4B4FC12982
|
||||
A46B1A97323B9CA57D3F9C4F4F257274EEE06669D83A6A64B1CB90DDE54EECCAAE923D234D7FBE
|
||||
F89A04C755B1C92CE5E20086222413D8F4555EB4E452124F83AF92EEDFCD0FE63FABFF189DCEBD
|
||||
5FD618F956E206F3970C558818136E95EFC257227553B790BDE15B2BA19A775D6F1A6909C7E877
|
||||
C50803ECBD75868D20700EA708416A947C8D4CAA9E20B1C26790063B68C4A517D805A1EDF22357
|
||||
3607C6E7EB571F13B61F294A3ADA65B6551A35163B2B09FF48204DA33C39228B90EBC2C42066D4
|
||||
3CF90E8152C9640F72314C415855B1A20C46F0CB69D91E690FC601A430F1605E710D1B6DE24B4C
|
||||
BF183DAABCD4EB1F9A064B1C0EE66CF8583EDB4B929623BA1D0DAA518DDF244B33101930182E96
|
||||
620CF26D9FFD672FF7CE2E7A1E6C1FD5E263175D4383A9824006E3A24EF54BEA370BF09C4467D9
|
||||
9C7DA12786EAF43DBF0FEC582315890C8DF0BDFDFE60E50EB05D7D9CBB57E5AD8B680AACF1E600
|
||||
AC70ADAA467EB9FE4CE9FB15AB3B1733D1668D5DE1195E02810780D977F72CB8A249CB6060F756
|
||||
5B09D6D6205AD0F63566C56DAC006CD80A67FC4B522BFD5F0AB88EC6E46715B95074F7AD5EA332
|
||||
347F5F288DD1955B11674F46BB0FFBD3AEEB0B89926FFFF951D3A1F29633B3270863D3AE368974
|
||||
77BA28AD8245374F09B2F75D7930AA74118400C96AEC68A49F69F8402201BE29D5ED5009FBE347
|
||||
0D5B1F37C59383294CEC3BA4FFFCA5EEA6471E41F1CFD3B366719228263E4194CB7D91F729CEC4
|
||||
134414C18719D5F66A90707F0B8763C23C369EA27F3475F4E5BC18DF91713338EDC64E37398107
|
||||
E858D2FA86B34319F630175CC0EA0C0A69AFB950B6A44DC453725391EC4E2BE1D94EC660A728CA
|
||||
3C9E9154DE885AE99B2255A8E503617C494ABED9974699A39F0AC8204C67D25B377F44A083CB75
|
||||
B36181284C75D1E43D457E1FABF44587267FEB0335D5951411A54EB0D3C95E0C8E5B99BE2023D9
|
||||
56D3AA605760175DB8BEB96AB13B5719B9DB208D676FAD5B7268AE7BBF16BD6D446B4C0049C363
|
||||
E40436A562786CB908194A7B8779B8E643C4EDD8F7B04B38D7CBDD011CB962A9E96297567A9F3A
|
||||
82FAA696F6BDD100E5D74824BF84B16DD619CE7C9EC8C835EEE6DB5CD3CB8C41F39BC18E8DD7CF
|
||||
94B139222930B39F9E1BA15981DE9F82D4C7797513FAC518C1D4F2EA30E803E0E3B665E21E073D
|
||||
275A173CC2615DF9A69DA5CCFA720CD300486F03E34DA79856DF7716584940DD3F786BBA10B315
|
||||
3AA3D81C17CB2B5964A5259E9B739AD177532F8C1160E44666E4D0C3C3DCBB6A873B9797CF0239
|
||||
35459FFCFA6C463605A8A77C74AA9AE3E5A989FF03E7C55776696D21F11E801CB1AFD551234152
|
||||
EAC591D789E70FBD147C908ED8DA319A41F9714A7F1FC023F112CEDF88B4EEAE8794CADE8A1AAB
|
||||
68D9EDF19082C4F7DA38865C3B905783BC9CAAB7E16CB1F5EFDA2F6AE513CC50544160687A6C82
|
||||
1B54E5F897DF81EA0004B763D02FDE7FC4ADA768CC7F2830C7D7BF5C446B15804E7777CAEA78FB
|
||||
9F14D3B95A6EB62B4A310CE75725D1372DFE08BDFD7AA8FA58D36DB1D2C33DBD632BD5D0056135
|
||||
53E846815D995AEA6D8422ED35EE328231F57ED0A5BA065E1296FB513CC584A0205DC34C2D1ACC
|
||||
580041F4806B3B7E163BF3CAF9C9102AED1DBF23017F6EE5F14A486977BF8E4801BF9BED1992D5
|
||||
4001E7D6015454F9A7D3A39424E1D16D1D0456CBE4EC4B28C019A0CF581089C068C796FEFF4768
|
||||
0C7306A4E0905D91BFE9C874786574164C09374FFF473212CD28F7549C85F742F6EDFD34A3EC96
|
||||
7311092F305CCDB9439101F9DE2341A0A341C19EB86718FC837473C31DE015530BE489A3DE1719
|
||||
6AD8D52BEC8207DC2C52AD1B6DA14E2E5E55E18E588182C49377F4F83FB1B878351B25B1B480D1
|
||||
369E69DD6F5FF1079170D185B3E9D104AD4EA0D325B03274C53AC0FF5C499CC106BDADFA07EC3A
|
||||
5279475AC5F1807A2AEF64FA1C8ED95D8D865502337CE250177B18940C49310A81AFFEA7290A53
|
||||
8CE2806DB563CB130EC43166E6262F40BAC7A10C3176B0F5CF263491B90C3D9E16F1451063A0FC
|
||||
28C4CF2F5B879583F4E7F28CF7BCCB3C24A12064037F04EA84F2A99D37EE787B023973EED0A62F
|
||||
7791A1EC592A009512F93F5C798398AADE97B26CBA03C04C4324FCE97EB5789C3FAFB6BBB4AEEB
|
||||
E241CF464AB0B78502DBCBFD29986A2BEDAC0F44AD4CDB15B1143DBC7FFEFF6C57914328176489
|
||||
5B315178BD0EAB310FE4D364D31B424ABE7F5192B89C1D1E92D27AC1E749A5D7FB1788552F5662
|
||||
08731B8A6766C0EC3B06740BF336BD314F8CD0A29E77F9368A088A99ABD60B880AFDA377E9C1D8
|
||||
CD4BE7E77010BF09396858526C49540AF6AD87112D07A83330703CCBE88869287262F1DB69F17A
|
||||
E09BC16BCB22A5A7AE2F979956498E74A754B94971FF67645808FF9189E89019B8EEF8D48BE24C
|
||||
98A031AA823115B638F5014FE507198CEA3CAC92D8A237BB0E49F2C02689E9E776E16F21A1139B
|
||||
AB3311433B6373BF536E30A5959410D66823DE25B870E3C8568E0F95995DDA5D76D3817728D9CC
|
||||
C39E53869EE7F5A0D4D662389CBCDE890600A581451DA0A37427237AAD1D77E0EA543A00B8379A
|
||||
55F55AB79E5A1D44ED010C6847A3A657AF68A894E4E3AA45B88EF00A82B7ECF590BAABC2371B0D
|
||||
5320001C3D1FA425F6F57B13C7EC69B64AB4B21F8C00E3D63DEC8C56713ACA560A0A349A1BF0FD
|
||||
A614CDFE65E935B40F502B7D914BBDB4A77F5A4AAE5A2CFFEB26D5A58E3E50FDAA8D34811CEB61
|
||||
CF811D37C92A53CF493A7D6157CB48AA26367FAE934BB478ABE1EA432CB77F2411E7DEA7F65540
|
||||
B904CED9DB4BFA3ED733505DCF97D1971A66317E516F7F04EA905325C263EBB7BD8513B73D74B9
|
||||
220FB92616250EDE3F72169BCD8304FD8BC3A27B7C103E0045F769DB56A418AE8880AD56BC9E9C
|
||||
DC833AE39C55A3C2948CA60384171CF9C207EE9BA9CE27BDFE3471C65DE1D617C6407133346AA2
|
||||
C25A88F42C08E72B12A32A2061800D825C31CD595D92FB6DB14FF28B309F1D317DBB1AFDE68221
|
||||
D98262E4A264F5A35570F40368D638BA8FAE9871F39782A6B46D8F3545186DDB8277A7C7EFB96D
|
||||
5F09EA49652C129B4C54B872D8A409BDB611ABE271DF3300A7F3E8C8E161017FD0188580C954F8
|
||||
C4CC674E22FEB88CF5E0ABD19A284A0D9D91F2EC95F9A93F1D35FCA8D00BCAD8C6612E92C358DF
|
||||
A868DA9C5DBFD73B01D11C38CA5F131564872BDC60F819BC5BFD15FD8E75AB533DAC3548B8266F
|
||||
8D1D596DE55166BA58B3003A07182C7C0F69D4B1F298233262F2E7AF2B24A3CCFB725BDE5A5E48
|
||||
D7E9565970651803930E70E4189529CD573697A81C0B0A61ECDCF942F3339FDE20D1DDC8086202
|
||||
D1D3609AD6603E3690A79A285E1692353124196549C913077D3F8C6646975591A42AF8B5DDEE53
|
||||
78238DFB9624F44365ADDEAD9ED557CF4D8CAC26BFDDD772CEB98C5B366AFB2140959055EEE647
|
||||
90206F72E58E161E8773F8FF59582AB55B1B3E638399539F630E11780E5352ED6EE9737876FCC1
|
||||
763241305257C279854203A088F4782C30C6EAA125C8A6FC26212C535E66789980970DC0803E50
|
||||
6671FE3E96928BA55FE297368079A35A67B7FE13C8DC465C360E22A406DDF868FF4FFA3CFA6955
|
||||
0AD36656CC1CD19A1A1836FECE37B79F458DB40D42DE82D4E5ADA8BBB910EA51154948346FFFC2
|
||||
46EB10EF2660EDA4BFFFFFE6FF201D5A3CDD09528066C739255F4C23D39389E59FEC4407021D2E
|
||||
0A870C6C627C32DAD68511ED8C91C05BD746BAA819D9900AD5102EFE6360858FBCD2F9A71FFFCE
|
||||
AEC72FD18B5767336D08446AE9D69486C9C593CEDB8A91EB0804DD709C757DEAE3F9E6D6248AC8
|
||||
F8CC65E617965AF69FE99CCBA7189B288FCD4C1CE3DE8EEA0776D38B8A2B8F01679C2270356046
|
||||
C9310723589B7F396E9FB18C628EE7A83AE57F6D1817C1D94FD3EC6C45CD6728C82EA72E2CEED8
|
||||
2F0857A6143CCC6EAAE0B443EC7D274D7974B895948F6483C58F0F33FBD311D498E0A029012249
|
||||
8DFC0A644CDDC892B8CF603F7A6D39F7B650EF99E0C0F7D1611227BC3BC8BDCADED093902193EF
|
||||
A008E6C5E52E032914165156CD97FBFA0B423447A8BF6CE288047D77F0B7A9E4932F89F6560C47
|
||||
B02738DF984BB26E0548423BAC15FD9FEF5B46CB5B396A3472CCC0D61B334B7DEB439892BF377D
|
||||
BE2435787D0145F410E19640224A3DBF881521D31888AC1A4FA69A5E90852811B13596B546F159
|
||||
340A0F66E06251A095204556D8175A10A57EF634A6152B036F9EBF2F3639DFDE53C3CBB14CA209
|
||||
EA4BDA72BB143299E5EEDE1B535D45F07B24495918E7C71879E2F03467AA3D19C0D63F61A6252B
|
||||
724EBD3EC0E343BB4F627B02914972D07DE8298CD128FD99A1D484BB1B5CA373F4E2491D24BAFC
|
||||
320DA213FD2DA7F2B09DB190CDD2F30BDA955E44096617E5AD294DD32E35CB60CFA20615DB6337
|
||||
C23D83054F5E6F595FD907D150272AE09C66216DFB4F743E3B2E62B7D53B5E8E7667B289A00CE7
|
||||
B96B0B53244F3D124FF980C0BA68306C01FE4A8F282EF4C8D6568A53D90F3B05EB14E26BF96777
|
||||
50BF259A58735E2AABF4F003380CB8CB8EE541507C36BE19B2C46A2A2657FBD11BEB0A30BFA051
|
||||
2A6D3C9F8E26FF2C72BBD173EF0F04C8DB3DC608336C84829D5D54571A90F1B7728E0AA3108802
|
||||
C8992B6987B27FAE219EA24AF3F178DBBC7B455C9B59402B4BF3B265929C02D95B8BB3BFDFF9A0
|
||||
9639B4E1CD845B1340915489A7AA9AA19AD6822CD437E52033499D9CE1BE3A351811661CC140A8
|
||||
66E9BD299727F14813431B7DE87A015E84298EDACEB0BF034A9BFA2CDA13EEF9970FE8BD269246
|
||||
7BBA1FD66B349217DAB37501E98D330623D2E7BFFCB076ECCAA19D835074DBB07C6395F6930C5B
|
||||
67077B26210227DD697D0B6F46FC88C182BEA5C5A4BFBE33D772AB706215308854A30AD2D065C7
|
||||
708A4AE333C65CE0BC2B0F22F0B60EA61197BBA3AF236D9E1FBF21DB6BEAD9AE94C3B28A3DA552
|
||||
09827CC8752A7BA6763EF1A943AAA5E60726B4015CF14D16F1352D433C5F4AE74D2D2B31204F05
|
||||
06966383AAF38A5CF0E5ECBD1B792BD1073B25A8CC4D0D2E1650AB4E931D89A2A619F860BC7244
|
||||
1DDB888F0324BB646DCCCE2D491F5FA75E598CF2651B0323187F3A8DB5A8BB4BD59367871B76F4
|
||||
ACBAB3D7153CD215540799F29EC08139EB9918AF0FF098ABF8554A9035A16442A5C202389076DC
|
||||
D6E23751A85FD1B3F3AEA19E043B8A3EEB75C40C70EF918FA4102973E0E8615959F28807C3D20C
|
||||
DB9E972E392745BC632B451FEA1FE04A410C8077B035AFA74F1B701FD91753B0D01BB3DE1AFE1B
|
||||
E79802710DAB4DCE481870EE559F8C677D4C978D20CAF4474804F1F053812E67CACB662427B560
|
||||
458532D532C202E4942221A492EB14885148C43B62F8A0D19EF45490FF38CCAD1FA02C378EC0AC
|
||||
44600B2CB28B244C787150A468BA7FA4986BC2E3A93A18531243E0B836988DD2C196AD291A305D
|
||||
D91F3B4DA47CA75BD05FF0513FE10F844072E60AC651AEB7BC78DF6FC3A5E8E37584B0E45B457C
|
||||
046557A3B3586442803328D2BE2C286456F34F8DFC1D1478377DA6847CF53C1ACA05AD72999E77
|
||||
C0FC0A262120BEA3FA83AC099756309B444596C26486208726CBE32558991EF39838798463BA21
|
||||
1345B85FD8FDA2A2FE834C488DDE8F8264A5E86246DB3AAB30B75B8C51A71EA729DAEF0F03FBF5
|
||||
B020AD02E09D43803126C34C11CFF1A69F2AE2DF39274ECAEC92C868989335190E6E2C245925D7
|
||||
1F45B1A4593578338BBFA6A2E2CAD3CE8AE00E97F5039B430DD9EC8A77404BC1231589F7FD32CE
|
||||
3AFD2D0238085FF6FEFE450C9A2014463C41F4D3312DD98FF27A039BC894AC993961F81ED116B6
|
||||
5CA0BB449011527101A0D1168CB8CCCA699231C96ADF616582C557E4ADE73B0377F825C9AB0BB3
|
||||
C789F46535E0A3843A9955F292DC9A3E046E3990A558004478B12A2ADE2A95626FAC0F60DEA236
|
||||
0C0BB784F5073DE5185CD81565FBFF1189F47DCA5B947C59CA154C13F38260D51C47989D1C60DA
|
||||
57D3ED1C8BD10A54D0D646F901D9B2E4A08D0477BB3B06E99C4CC3BEE8AD49CBFCD70FCA133F71
|
||||
0F8C2E8AD72191B672A37EC62BB27BC5905C70EEB185D4E801028764F2B3FCFA28321264950971
|
||||
37FDD160FC2F91B01A55F41CE24DCF84FFCA957D272FF4B8CCD8DAFC196816F258F12000975EEA
|
||||
8284FE1C9894B140C717B9892B2F1FB1F9A63F27342363A34E280F42FC7517070062F3B45FD468
|
||||
4836E9B48C7BD721105B0D8D2FE65C759E47AF34C2D99EFA576DBC7B390597ED274AE0AFE364C7
|
||||
66B24E9C267AB0E6AF79E29D9A61A1141440FFEF47FAC973E1277122833B65CCD0C1669E8E0943
|
||||
CA94CDF9879F5B3540D9DA03B314274B338EECB14D93F6B229ED1BF061E0E662601F4BB44EC49D
|
||||
58CFE25CF826B28F9885B8DC6C171F5D9F886E28BCB68291B0A00BBF8AE9A10F5B137AED55165B
|
||||
CD3044786C0464EEAD2641B5B416ACE8B4D15B48E12D509D42188E3F3143E56AB28C85A3C312ED
|
||||
F114B8931C57E66CCCED4CAB926F6CE5AE543CE2858C16AD0ABBEF49C66614255285549465F618
|
||||
12207C1DE430353F9C84D69D0D8AD5DD6594CF1770DBE352E41F5E12793A51CC70F386133B0EE8
|
||||
F96E4249F7DE76AE85233938BA8DFD4E8006F53FAFECF02DD407816873A76CD4EC41B175170ABD
|
||||
70951C54647063553EB4E5EB14C900DBD377D2413575C50381317CA959747CE3E354768728484D
|
||||
7B9AAC935EA5B17616DB1F80CC1D1DFDC1DAA780384B3475A816F4CDC3E92F307FD5373BFF893F
|
||||
AF1E294259719699A387068094F8DEA44146EFEF7E079A131D9727347F351AF955CC435C07AD95
|
||||
49B8B1D75D19C5C465753BB77355FCA71406B77A6AF3204AFF93B4CD3E34E90A88DAC6D9A9A453
|
||||
37BC6AE499E07CEB31D14798FF0F55E2D8FC111B7D095554E7751BF71C3D4A7C33199C3E320246
|
||||
04B645D1D7029ABF2FC1801D4314E01D1C209A4F1ADB0FA96FE882B7416FA41AACC9EFA6879E53
|
||||
971A639D90B2AD319D259507E73A536575CE9251AAB41BF174395A5657E83FBC9D7003889561EB
|
||||
AF9AC04CF2BF8E7310B7E6659812D19248CF6991DEB4C2A396AE00E725DEA00528CE08FD8D1D59
|
||||
5D1DD69D556F4584D50A80D51FCA123E8A35E13E5BD9EE977E09A692D821832B4ABDF01DA3ADEE
|
||||
6AFCB27D3A7799711E3442FB8F83AC27FBD12BB7345D71F1F9712DA9DF2111FC10CFFCE8770699
|
||||
55011A4D38355B005B531AD274A09EEBFB8CD6A1F964A4DB7907B1781E52C42514D7858AD21CE9
|
||||
E6D97817432229CBC8CDDD5F0917F3FD35F9E62EDE71102A96CCEA949CDD94C1ACD847241C4FCE
|
||||
BFFE7FF6028FFBC05E999F1C1C002FF395502643782D78543ADE03568B73A269266556CB545B7A
|
||||
8D4177A782264B71BCC4B6B605C75B62ACFD6485D2E5D07A7FF53BF84A28FE086ADCE032D12729
|
||||
03D7C9901FF0E71C2E2411F6157A4CDDC9260E47A768CE48F099D4DB84868741913274F219DAA8
|
||||
068E82298242261D9BC0F4515298CA81FDD19215E5380EB4F46B1ADDD33BC8520361121C624BE4
|
||||
FFF8339DAE4776EA251776F6AB33AB8FDE785B6A94DBA8C960F95136308D09B4BA32D25F3A8CCB
|
||||
2BE5AE8B4468A302435F4DD30EE92D165D12A463CF5BDADF434804CBF1686D4F5433D01E50F60C
|
||||
DB832DB19E52CAAFC73DFD28510228646F610869C0CEC899C497B272D470F4B8B7710AD23E8059
|
||||
8BE10019858015F16FFC232CE4D5336370DF76EBBDA878CF686E3331D814EC72CDD40C5BCDEBEC
|
||||
AF33C40081A4C27B1B21522F4BB7A92A674C5456EABC8D90827D747012F268C84C16E7AB4401AD
|
||||
4E7F96FB64E0C83631A44723C9F35278174A56DE96322E152B3FE95658D11EF4C0BE5C0BCC1349
|
||||
0293310B10B0C8CCFA2479D50439A8B40F5CA0955A2D30E9327364080A83A1896B1A062793A557
|
||||
2DF318BEDDA17F3E662C0D4B41D8C348C1F2CCDE37392D715C4BC89BB5F9DD323E6AC6C3EAE658
|
||||
0B61EC042A91C45C6D72250CA6CB87B660389672933ED446B7D80D88E1A0BCC9D618C67B26D8A0
|
||||
12FB02C68FA7E4FC9FC91A22926C2D8F48F2371709E8151C31F5F4D40C6E75280FF9428F13D559
|
||||
DB7D37F75456E9B53B271BA496EE76A1AFF092390E5B896145C1ECFE3D39359634F9B942BE156E
|
||||
9951FEC9D81A290469961303EF4ECFC1C050540A5FC778D18BFAB6FF326814CB256DD315F9C224
|
||||
8466F67E996E67DE3B772A4BD0238BC5C532F387B5F2A8546E6703B35E86D59716972B0C0883A0
|
||||
9C37410CE21704956BF6F5BFD93355B079C6405DACF179254BC08E415D0ED560CF9D7D786A4149
|
||||
DDD69FF12EFF44F4628D39830AABB8E951C9D6F2D80EA8EBE498CFA76E47BF82C76246A337346D
|
||||
005EE988C82DBB8D1FD4729E2234A549666FF469D15349402B322A205E69CFB65A2C93E5C51B7D
|
||||
D45F2E488DDBF1AC7BBA4484E0013A456DB8568BC8C48F8DB292055062FD73D01C47D5A48A0B6D
|
||||
EAA5485F2D3717899AA9A7C861247DE19E3EF236506A76A7CF6A03335FD453DA1A319E209E71AB
|
||||
A95C7727805EF257093573A1F963ECCDD8D5EB00CA24F323A74703EEA66668B38E76DC53A00542
|
||||
C61C737EBB67552C8C0D90A04D30109F562105E03A669AA93168FABCE3F6E8F15D0F94A7DF9659
|
||||
447E45F00570C63B74449D628471A70754B8A5C3DD4B7F1257CB9C02360CA1118EF42445B81A77
|
||||
8E671CF4B94BF5EC261A34A7EA7BD65B80D149F68CE50320DBC63E45BAD02BBF09C28D50A021E6
|
||||
0859FC9BFB6ABB71F874C39547291060CA4AD86BA98D6F106C945924EB226B0604E65D41C70921
|
||||
8822B9BF062BB0795E8CA290DDAA2FFE6ABE37D13995731F008F06CDF4654AE43F6D0F180E9430
|
||||
2FF7F71349F12D0E6C5D7BB8981A94930A6C1CF5799F5B3A64486A1B279E5DFEF99FB82CED12F1
|
||||
9C5B9A80CDE6D8AC2AABCAA1D2FDDC03455E69EDBCA45654321A7CEE805D3555A6870CD69DFAFE
|
||||
8DC3DFFB20FD9DEF9EC095BBDF1894543A2EED30B416083E0C976F099569B95722D48ECD95258D
|
||||
6FDFED1E14427F44A56F25B974FCB4D47F5749564EFEC60A783695924CD5E6569339F6E43C6696
|
||||
00A478AD5ACFEDA6E60835F19274BFE1E9085AE42DDBC2CEE9B856BBDEA49C0BBD66A400509D22
|
||||
B75C8AC63FFC5D82758FD22D9CBBFAAC44FB258BC893977E823D00F3837172AF051B69FFB4B427
|
||||
3911ADEBEA9D520F234BA4D8FC3E3C363238CD744402D096FA5078681AC3CAD245F9FFB510EC68
|
||||
13DCE93C66BF83C0AE307ABF446F4E1091745F57C941544336DD8F59749E832B5437C3AB8994B0
|
||||
82914781AF7EA09208D7F1BD45DD6D21FDBF11031AF0CAF929C39DB34BCB05144821082D1471E9
|
||||
E6526937C7F78DA1113ED907D7C0C03A6EB8D72BC0BD292EA13B0C92295FAD404DDE1212DBB454
|
||||
C3BE0EA56E5270B6E5FB81918AFA8D8574582D3464869C07188211730888ED6F5405BE928A9928
|
||||
E851A4CF29DBF352F3D257525B708FA7A1303B55A532E4C1258A5F6A0D12995802529CBD6E65AA
|
||||
AA602E4220815A5AB18673FFA922789D35943DE4157F63142B3CBD2C8FC0E0CE664AAE02BE5A93
|
||||
C97CEE6FA6F8F6AB841857B3887FA143F6B9610B2F3AFD3740F3E0B442B5AC065AF833C29F01E2
|
||||
29FC382804E896DED6E0F676CD666F8787DD406DB5C69C9A2847E18BCE2FD27A138AA93379CE8C
|
||||
37891058DC1C5515CA5F23380D3530050EE56F6B9732E4A0185B4D8FEDFB1E7460AA13771EF4DF
|
||||
05D74602200CC84DFF2A103D3748D6198756F4749B74AA32B2F30F700D1F08E71E1645BF2C9A4F
|
||||
544544E13F1439825969ACC1A6DC057348702E1CFD18DC3B697B28B042E39CB7B09C80E70707F2
|
||||
13C636A75753EBF406B599010D028940E9312B75BFEEC39C0030BD18333404479447210F91684D
|
||||
BE2105B852064B685C3C6028C7178FC5CA73C17F0954C93F6B2C4B2191175D4CDDFEDF41FC4048
|
||||
0F0C8B8B369A27F550AC1D353FA11B318DEEBB01B4B8FC7AA6F06828968E1FE4F9B5B96F9D3017
|
||||
1866B8D14485287A60037526E721739C7CD0C17F6F64FD99EE76623F71C48C0A982E50CAE84DE3
|
||||
D25F5F1AABBC058FFA718AF92327E4FEBF106F744C170EAB07749FFB69633FD98E480CB281AA03
|
||||
93E6DE2159DD6B99C790167E538CD79D6155775604F644D040E43869DB91A4D00875EA13440FC3
|
||||
902AD40066380C2F83443B0499206BE189DDA2076DF315B58D6BCC0C89D42A699225676A47144B
|
||||
04DF1BA596017F3A2E2EC3D513CDD2A9F184070CCE94C96F7BF6CFF00D922748BFC1C8597C7668
|
||||
F116989E7F08CA14585BF06880EF1A073FB8A77075074957BC126EE2BD330BB4C569A23009D01C
|
||||
A08D0F691A6BCE9C4B5A50AE33A8D7C8948FBE555D9A0BD39BF49EA21811C515CD384361D5A0DC
|
||||
611DBD505058A43122D8D9647FE84DC4DDC8BFFA1E31D3FEBA54276784D9B36CA7614B9938700F
|
||||
59C39289B78213122F7B4602CB59013CB72E028C3D297E574A6B43A0C68BE116BDA1276BACC516
|
||||
73FAE3818E011213F0F87AB6DB1888140BBEC4F1119C00E4A62288F0F5E23B6058099F3F65FE3B
|
||||
3E074385ECBE56E5DA88FE13C1EC3E7FDF22E775C7E1FD0CBC4B7FE931B7395A2E9350B69C484C
|
||||
389628F1A7A85CF10B665734B60C4A945FC79388EA356FE1A03C9FB016DE980B8BC3B9BB8BAF80
|
||||
16FEFCBBC66690E1356BB97AFF51F98CEA4837A418557E5FC1619D069FC59A4A4C3EC08714D00A
|
||||
8F1AA53F8B59C403C123A8C04EE38025DB14CB7CF964A4DB792E25A9E8FB5743817EF7F9000B3F
|
||||
EADF7726EAFCB71940D2A9FDDAA02AA62D8B13EE70FCAC1358A34591AC3CCD3F163B4DA0EACE30
|
||||
0467E63CF26F6BCEA3EB934AC6775DE665AED32C8119293CBA154DAED637633C0253D4E001CC2F
|
||||
699E318C5D2413FB8468B43EF418EA0C6C2314AEFD5E429F3BEDDDD122DE559D0725A44B31A749
|
||||
0F653D9A9233117B76237DE8B27E4C1886423A04F999792ACCCCA4BA4CD7BF35C785FA07D65672
|
||||
223E0C8661CE11EC0FBD391AA4B990CD353CAF98135827FBEBD98BBA4D618CC0BFE026589EAEAE
|
||||
55DAF78E0597BC770A36751261192555BE810C82F6A736BA2AE6D3D8043B761826D440F795280B
|
||||
03AAC4CEB41DB919A67C2AC68947B39B70D9C4918CC8512FC2F7C663190A81E33335A5A6196E95
|
||||
39A276D49FB75DD408570144DEACEC7153917E6494A56A1D8E8B3A2D06D997A9AF15575E4F50E1
|
||||
FC7A1067291BF0E9C69FBE1784AABA9874712B1E37F3EEBDE499E3FC6B3B9A9F15C620ADCB559A
|
||||
8F79A17C5403411C1F72CC343B1FC1A639C5B5CA0D2D0B75DAD4B0B4834D7948A1B82D2AD1C6AF
|
||||
FC0664EE1E82A6445E1BDDBE61CE2E5FA89CBA747ACB305C0458C71D1C40278FD48840C3EDBD15
|
||||
DEF854810CEA55DBD03FC20A63F7D2027A6553C053E153DB79D08A447835E252216DEFC01C2262
|
||||
32C8EA4A13A477207A37180A21E6C36DBF11DB159966F862B6BEEAAC2AABC9DA188F0D10AFCE82
|
||||
588F6457AADB7C3B4DE2FC6DB3EAF91E09FB2D1C748F0584E037F1C901F532217F2BA27C4491AA
|
||||
8EF780DEF8177C2E80ACEFA425508D81737A008B6D9342130799AAFB7F5BE5A4F05EEC34F93F5A
|
||||
4DF2F01EC3AB9574D32AE530A6BDD9EAE39AB88FF21FA502C434730537D38AE69F747A0413E4B0
|
||||
7B6AFCABCC807FEA7088AC8C96FB6DA878C08E2A114AE417AF245C6302B705C1B7A8FAB1CC76B3
|
||||
08A71E905602C35799828ED1185048EC2B5C01465E70A996655C6AD5B9638DB6FBDF425980BB31
|
||||
642A9B57CB1675E94804F6C3D35679E3C37A020D361D6FBDACF6963689201B8EEC706CFF2D5107
|
||||
41B4BEAA7FAF600D3608CEFFB406B06887C1A1A1D08093EC3C7510D292278ABB7193DD9988BF2F
|
||||
E9A6612422B8E44656EBC88D9299F9FE5DA3AD9DBE9D75A2D49E4CF8BBE6A794039E5F69931ED3
|
||||
40081841C762AB97ED85F786692038DD1B59D89EAF49920E768E7F7F1EDD29C75DB9C1D3617E75
|
||||
B1940DB46CE53264F3992A1FB5BDEB1799F5D3A695A63BA2C6D33D594C5C365683C66FBA942B2E
|
||||
FD09F3F0BCA92248D5F30FC7C7189D8B01B13D4D50CA60091F590407AFEB4EC2076B5B92F0B30F
|
||||
4041F2E4100EA471A066E823695F1D2233F2A6E03F8CA102E0C155334330EECEE15147827AEA8E
|
||||
C014A0C08E6CA126D9CE917861CF2111B5E03DDFAA0CAC9AE2F6B2E6AE961D4377AD47041999B9
|
||||
CD86A17ECAB5315823ECC411598F37B7E756190DCC6A1FDA59FE638C1A93907E04CF90DB5C7224
|
||||
FD8719E57D5A430C429E210FD49FBD3CEC3F24D845EBF8F5A088F68E19CF7D339887AF3C298912
|
||||
26CB77855A7F2683F257407C708BBAA4C4B9DB8745270C8980BFF767BB06561B3015B9932294D9
|
||||
5DB8A1040D7BF9E3D40A63C617DAF8EE7644D5B0D6308FB171EF3E78614648A321C5FDE3AD8184
|
||||
4BB85BBD99592562D7002347ABC2638E9338F26CCF0743087FECD56D3CA82B6849BEB2ECD7D377
|
||||
CA06361AB29CF13EB1DBDC56F86BDFEB451AD6C48915FDD35A14E7A6911837AD87CA3E38199C09
|
||||
16374140E83C9AF1A8A85C56DE956FAEC1D75541F4ED3B64C99D951180E1B8F64F1F8B7B45B159
|
||||
F8F5A0D426766C68D7B072EF6974F3ADF3A5BE90B7E9A21FEDCF47E29E7414C80C845C5D93B8B1
|
||||
D9FA86B1CA0E22558DF8EBCD439EB920BAB797536C174C458B1550F2EE8D7A784521F02517F8EC
|
||||
A4F71CB240FB5F9D86E4F51F9151F403B0AC8A72C0FB6842356941FC3A2370996C9642CBBBCB08
|
||||
9BA6A5CB6FB9E2BAFA06E84F0E2E549E0EE23B21821E626077FAA50F021A23D42FBF4A7C4829E7
|
||||
26708780FE7B0613923D556F039B934712658859E8E685E74141499E09EAD6FCB62B0CE175A021
|
||||
36887CC85EDA5D3B8377AD464EEBDBDA46D0ABB1446D87AE5F0A45E3A94F1C6281647A0B899954
|
||||
410DD0DE1117BA611AA431F573CC4DA9CDA2FD3AD71C37A4FFF7B8250212797DFC54B99A8A6067
|
||||
A27D70D6FE72DF3C59247CD853E07CCDBB6A74F6B228B19F5FC764222E63D09BDDAE37245516DD
|
||||
37517F13E23205C8B0D0CE1AEE7612D61D962A67559E3FD96566C1BA374D07A9A462B499734332
|
||||
5C78AFA5230AB300EB23F6A225DC7C7C7233403713774A190AEF9B6E7AAB5D8B887EB7F1F8F585
|
||||
C9B3118AA1C30F80284BCE0E730E247085FF7B1CD7E0988F36BAA813C8FCD339887407D4882AB3
|
||||
74112DE05DDFA5139EDB6AE5B583E031157980C2D52169D49775FBA8B4E1D906EA4B8E10DAB35E
|
||||
203CA01FA7629BB5325218A005637EB76CD3E55D11B771FA770C337E6CEEB465A8D7F1597F6551
|
||||
B2FF65FC891033FADF0389DBC588C8DFBD1DA9AFCACCE38582B167C3E36210B9AD5551E75067BC
|
||||
50AD37890806683F8028D06ED899E9B198A9EFBD321A3AC3C6D9FE41B644CD37B66412E5720D14
|
||||
47A89CFE14AF540B5DE8E900E9D66C21BD6528D636F6AE5293F1C9444883F0C15C41D79EBBDC25
|
||||
4BFAF1005645A73FFE6C2F657CAAE102E0BB5E787471E929F7F8DD97C6E59659925F0C3D741BA0
|
||||
9CE501E074E78CF9333485AEF2730507157A422D843A19CA1DE2B808D5F0A22318A1B9CC5E07C5
|
||||
5CF186372472A2C737D87499294A5C5E8EA50EEB7947C833AEF8A3CD932D4A7E4B8FD99C74604A
|
||||
BCA2B4AA067CA63C1CFBAF9FCD793B00F452011DF2DECB602EDE3FFB8A06FAA52489EF4EE736F0
|
||||
B8C5FB0B6B9BC8B59E9ECEEA1D22668FBC908A89EFFDE0DF6BAC4D0A7A7F038DD8EFC85F177970
|
||||
9B4DB3949C6943F9E080853762B79D5BD391C6B066BF52547320E2C8358D0C0CEE994C89CA1CA9
|
||||
F37CD219736C2C01AD74993103C4E992FEE17503A00F025A55A882DBB711112E3A247623DC65D5
|
||||
14FF7CEC646305862AFEB7BF057B1816F9CDAD7DA4A1DAA6E26682FAFD0A7D20F88F37FF51BD77
|
||||
734B1EDE7092B809A214CC1C12EC8B8434F34E0DB6C249D3553C548E2A00D71D2C4723D9E10F76
|
||||
05E66FDD97F90C26DB0864421B57313FC2A345D31829B0B25450E2CB4ABEC4FB9D1F39A2D68BCF
|
||||
BF41B93F92B39E7EC6DA3912DF9BCA1686DAD2F69EDB26B37C1205A1409187C8274A50ECB0434A
|
||||
D03524EFCF0BD29131EA2B6DC7115FD69D98E4D8D9C38DB3A9A5AF5605A13E627F4EAB13B08911
|
||||
B44E2E6C678004F88DA3FE2DD09C3407220DEA3DCAC845C89049D9370DD8383EF4CD3B684AC7B0
|
||||
A61B688FA132868C52A27DCF6C885EA96B5313627164D532C3C70CADA13EC5124E940C55837008
|
||||
78D64D77AF0A13F4803E2716A1C6973130AFC4954A6800461DE890AF174C3501D575C1F3A3661C
|
||||
0974B3D4CDFEC08205DBFC683D6F265DFDE654C623F30BDF9CBE83262869767D243291A7BC5747
|
||||
8929BD6231701D3C493E47C54824F073C45739A179BE64EED97B01B6161840BD9DBF4E54B2BD1A
|
||||
2768FD02108989F4A41D4A727100E5B9B1CCFE3891BD70A6926AA1DE689620DE6925CF29F10657
|
||||
91FEFBACA00068DA6A1AF89E0DB4C042B97517EB6AA79BDAC43EE8FEB822F8BF616BFD7123200C
|
||||
BAA27C8468BB472F93DB1A012BAF9B0A4B5F826D6E2DACB093022BBAB16FA3ECA34CF711BCE815
|
||||
CFF4C2D72F49020C34EC029DDB65E0793F9ABACE04003CC7FDAEC84340964BF7010B37F05AC17D
|
||||
B406FDD7975C49FB46280D6599C47C0123FB86218D242338BC54F8566CB38FD2425F70379E0123
|
||||
C9D0A53B3BC609BA0586E7BAA48C889DB4AC331FBACC669C2E14F3419C6B0F58E75FC76C405C42
|
||||
E9562D33FAF544941B0F8CF79DC26F83A14F1D8746BFBF020D4D443D22CEC07432C921187827E1
|
||||
D52C93DE2743A75320E55169F2D619B78C0A0089CA20C6832FDF1116145FD98BF771ECCD42DB59
|
||||
BD173B046FD71DDDBF9D9AFEBBAD6116B1863427EE0D81713BEB43CD0EB9166296FDEE311EB20C
|
||||
013B3F7601CE6229425FBD8B28A0972A81A8D1C0484289F5561B69C2ADDDBB70F75F770DF38996
|
||||
8FE1C7D6DB3872BE6EA35EB1C7B56D4593016541D22EC5C71A635CCCF52D6A621A9122D14C37C2
|
||||
93EA5CE08E368E8292F7C98B2500229B04A5E1C96924E802A3BC0FB5E58B8F778A6E57AA8C64C2
|
||||
759E0C8B63083DF8F46FC3761FC9F984EEA18C5A932A144E58DAA18FD55F51FAAB06E1D28F2655
|
||||
09365235B5E44F1453E3B0624C6E3709641AB1C5814FAE6642D852DA32AC7B54FE8560BF3ADD3A
|
||||
B3033BA8923A0884E565D1CADC4D09C8A52CBDDD039E2C83769058DD389F86F71852F10998B4E3
|
||||
A758498F4A9B79CA6C334019901CC779B9A6B005569A0E192AE2628E16A8BCBD70276E36E175CA
|
||||
A41E221A3502A046B178FAACF020A1CF03188D8764730809B2D37A45FAA742D7E591BE258B4172
|
||||
6D91960670CAE77ADADEC51A672A7F7624057603FFEF82622FBFBD4E0EF4661151429E37A64B5F
|
||||
4CE3C03D593AD9F504597EB6F0528F36399B33F30CC3B2F96F3733A8013041EB3A6AAF4B0A45FE
|
||||
F733D1FC07D44693D6AF26F4E3A902C8F20A7AFA23A9726F334C4E6120855EB049172A34E4BD0C
|
||||
93C3003AA814CF57C912C53C6254E3B37F494C99AFAEF3ED92ED9D1A3826C812C315F5D1C78641
|
||||
1EA2CD5ED850E596EC26CD63CF6AD87D0A43B9F44E0A297180416C2B551D6DB874E7E11E0D23AF
|
||||
306F045C7F67B6F54AA8A588084EC5FC95BEC9E4591231BE11A52E398B863C32B7256475C6EBCB
|
||||
5F2313D750C7742E3E838C62DE54311278BBCCCD5116DD957EB97D34D6452700C1847581DC82AF
|
||||
67E3288DAE3B6F16E9DC35799C1C85F9A568DCFB9839960C8D28F11261375C4A19B4DF0B2DE321
|
||||
AEF39EEFE81A28147876D457931A141E1E6FB18DE81582DE371EB7304AC7BFCD7E116E7277DC4B
|
||||
041A8E304CD6AFC986E037D112DEE3B26D0B353D8011FA8B0E9B048CB382D6C4C7BB82AC2E0EC2
|
||||
FB6C4D904FB9E6D3A9FB83F88605DAB42E02C7982B894B945787E8C61E3A256F42D36B2632DFB7
|
||||
CD62BB7EFD676D42A155F0FB6475B51008729CCF23957B468946D4286272C7510DB2D0645EE78B
|
||||
AF3F051730DDB1F7D56092BEC76E82B76D201A470D3946BE6AD863533526D66DAE5914DEC93438
|
||||
77BFDB7C2F01D9886354059CB8EFE4270058D3A06146B213C36D1B342D457DB8673BFFAC4315BC
|
||||
CEE9ABCC370920E95F8637B83480D8C978C093CE085EA1B4E01CE104C94AC744BC0E69671AB889
|
||||
CDE75E6CD976FD2D0FA70C306B6D36C4511E70AEA5B6655512372FD55C016432A3CD9417D97D0A
|
||||
4C228BE55911C32419A0FE5F16EC9A6071AAAE1D851F74AE0710056014BF9630039F6637EEF891
|
||||
99BF3CF081C955795B4467EAE95019BAC7EF36FA79D9F97F3D33DF2251F44B99D13DCB7D832378
|
||||
24E4BE48A308529C6BC428B12CF69A6127EFC21121444DCC37F9A7A3F2730F02D8D3FE9581CA2B
|
||||
88BE913CF948A95152A64566A881389A059E5BEE75841870787C4720DC6FAD43F12F853EEC7A65
|
||||
FE5ED736DF222CE1E386B806BEA91AF7F7F72EEC0EFDF895471D76057854AA61255D6E2EA52813
|
||||
62153D6F589FA2FBD0376DF21968B0FA750B30D65EDCA7FC2D85702361C4CAF1CD043E48485C45
|
||||
1534C56AA12BCDE172F23F6738D165A320CDF987B827BC566FB90EDD853C6D7C567C095AA5DA9D
|
||||
379415125D7C67919EF3B8D982A1469169016064F637708A327E68EF2C5AF23BFE04C1AB598DF0
|
||||
85BC3CB55A0646850932FA352A9E8AE66017D9837AF4129339680A1E55C160E4A049F31FCC2A25
|
||||
76C7EB46248B94CE3519BAC922CF46F1E1E9A7B8A75F47AAE73EBF0A994CF247A0D08E65AB321A
|
||||
059CB4EE443F720EE5BB46A1271305FF9884F5EC3E63DFE059B32849E88FB974A4A091DBB853D9
|
||||
B39DBC19E523D69925A419E891E8AEA1476B14BCC1BA4AE031263CB83BEEF7C7060362BC08D82A
|
||||
6415FD9958CF428D4C43961DBEBAD1FB7D77663700DC73B80F6692E862A5FA8E5B31C028B6C7C8
|
||||
A7C11B3B1B0A79787ADABD6D1E37306118CA3505DC3C07372641E721DA4C5460A82CC6CA846FA5
|
||||
49CE1054C7C096FCE1AE70765DDDA2679F035226A0321F422FF944689BB614169B7E41FA56AB25
|
||||
E1CBD33DD1612E53D4484F49526800E2FF17233E262E3BCEE284CF7451B81F07037C7B9D724EB6
|
||||
40D32F49D2CF36A63E8F41D967BE05EE2B1A96B0C1CA58ACC971CBA30074970DEEBC91B0D66ACF
|
||||
6DF605332DD97B1BE3CB54B7A8EECB390FBE859084BCD1A458ACEB0042C778FED53D5EAB466A28
|
||||
10EAB53A25E40F97B0550FEB048F83E8CA232DCE97FE280E98F43867A62D7F9EB5DA265435C783
|
||||
2BDB173271FA2AE0A3863D03AE13F0CF54B7DF774767F87D1BAA65CEE822C038A6F91AB256CB68
|
||||
23B9C505D77EE082844FD8C7072CA789737FE8D6F4D6621CED1DEC6C9756F1195DCCF09244FB8E
|
||||
87BE0077EA745DA363F398328CD3B22EC1EAE10BD08E5FCEEED39B7E0B86305628FAC28A050C75
|
||||
A6F17864E16BE855C2E4A1998B83AB94AE09FA37B69FE6673F4D1D241ED9ABE53FFA2175777364
|
||||
7B5F07FF8CE2BC3121EA092FCE04072647C5645C1937B7EFE57CC1D6C2652F8EE4F5F7788A7243
|
||||
AC033876ECAFD7C5DB01D09F00830661A8F01C0FFB7CEDF7C23E620A78733A50028CAD88D33DF1
|
||||
58CE6A1F833C2AE7E57C875CF29304DD96DADBFE1DC590FE866C066EA6EF0C78F7FBE8229200E4
|
||||
8A0E6FD4AC0A81623255CCE187ADB8AEEA7C1D791EC5901ACF30074FBF6C97AECB19BCE7CD96A2
|
||||
58C901D1FFC4A79446EF7BE7A9080AEEFB054372C30F3555D3654D5CC2DE0BFA214B00A5764B9D
|
||||
69B0F02B420647C0C61CAED3755896D4A9E872CD95D0FE6DF1D3799626E818B802435C6AF74308
|
||||
5F0AC41AE3618C4D345C509E9E689C8934EDA9F76A17F8F056ADD5367884E14AA984C28FEF4F5D
|
||||
4D9776E0133A4A550F7964F43E2C9E8AF8B54C9F81FC7818A6C80B2C3319690A5CD785D00320C5
|
||||
8FC00E762F2A1D8102F8EB7A3EA692928900CEBF2764907E75CCA0F1500C546D931B9ECC96A53E
|
||||
CA6FA69EBAEF1F09EC6F4FD6C16B34243F5639C9F9DA5C4E2851D7A21E76FCB35F5D2E8EBA7CA7
|
||||
AB688C96F27D782C335BBB3DCF7CF8EEB322FE5692CF2EBC2E363F12ACCF9F7A513BBBB024FF94
|
||||
788BAF7086ECEFFDAEA528D8168D8BD43E428D4BD7A0E5F9414C116BD6E42D257882EB8634CBC6
|
||||
D11B5AEA305DD6C628387C6E489B9A871CED2085903463470A10E8B85433BB7865B7B9B955ED04
|
||||
60691CCF814A0BA81F6C20C2B19877E4F37C406744BA5FEAD343EDC4B42BC0040B8FDEA21BDCF3
|
||||
047030A1E62365FBEBB3E0C419DB4DB280BEC3CBBDE80DAE0088D1AA03DD1A8A3313FC744EBEEF
|
||||
1E993482AADE395EB6024A67BC90A4DD121D8D2A82BC9B50B817843CBBC79A2810FDE2A148BDDC
|
||||
183C9B8391CD0FD80817E39F299028420A09939D41C1351C2562E20A45BF8392ADB750A1AA3245
|
||||
24D61999129D827D4C28BDCBF3A9DF6207BF8C33337B19F886B9326AB723071652AAC0CCD5FD1F
|
||||
2D47062848BC1AEF1032B35F8F20AF5739BE6B0F7A612559A36CA3814F4807CF62B65FD6DCF1F0
|
||||
26F31D2523B523DA3A55270EDA57C727C69EC945911028F9F6E56234B3A400FDF92C80C1D42211
|
||||
F661DEC84271C010E2450B08500534530BB6CFBECDC8FEA688C2CCEFB0FCD77744CF4E0719FBC5
|
||||
CED407B114EB2F51E266F5BB9766F831ADEBDC8485C4B519ED77A1BC98BB56BBE0E5940D3BD1D2
|
||||
46ECAFD652DE1BA803D2798645CEBA92D6E6E123852D27BBD75F9946CC17E2DB56008231D07BEE
|
||||
887EF18AC9F99EEFCF1B2BFAE8F99987B61451AD50DDD548DED93CE69161A2E67435E9BA5EDB8C
|
||||
2EEA6088D4F71FACE28CA3B27628C3EAA0C59A1049EF61DDCF048F587F725082F557953FE0B804
|
||||
8B7B38A196A66A975557F6F5749B52474DB4AC594AEF8181876EB84277E2699F637DB5AA2F5B46
|
||||
20CC1037D83881D63D7E8DD3430C307E4646466F94E529BCB54EE9A7F8A795DD789683615CB182
|
||||
623D16D1F80257B9FC1759C798CD3917648F992A34BC685B3F6798D398E762E0E0F3F86B6933B0
|
||||
D7AF1ADC561B621BA00828F89E21335B079738ACCAB8D88AE5C406AE9CB920708F41110E6D7ED4
|
||||
315330E6FDFCBFEBB541CE32E5F93C5FF1396BDF250232E9893CEB5F87F5E4165A9FE1AD8D71C0
|
||||
7C23B65B875A7331F59340874222B9F3085B25E4F00F11154AAAC24562B2BFA901B960426A4E6C
|
||||
E481ED163C9AB39E6426C4CCE2B20E8C72B1C108C405977D45C460115FF4EC599C9BBE75F8BF4F
|
||||
0D186A2FE9309D9F50768E829531C40BB63297C382B19DBCE41D5E5E91F4B58D98990291D9CFF1
|
||||
EFCCC6F8B1F8CEDC8076825B673121609812A297D6B9564B4048C8A899631D351A438621003BF8
|
||||
AEA0B738AE619E99C0531D175EBCAE621B836CD9C593358E03CBA68498B05BA0B56F233F59DC52
|
||||
0699C21985E63F5A4A3F77CB74A2AE1946AC5C78DAC2AB7728EAC7B5CF10A97755059B1EAD6640
|
||||
91C8ED90AB4EE76F827F1AE1EF1DD9A50396C1832FDC24754A976878A49F6E87AE9B2195F82BDD
|
||||
DB8D035BC0343CA13815B3A4A6DFE42D6F59C07E017F8CF207711397897435E3C5B914AC719210
|
||||
FA8D12A2909E11FFF50A2C47299916A49D4E180F5BCA51F0F3EA76E549A04A1A117279FDA57CA0
|
||||
6A069A4578525471537268F263E8A150D14C266383B94E61972B189525D99A9BA9D65E4F0EED37
|
||||
88C2DA2B5D476FE2A70EACB7CAA301BABCCEBD031B12A8AF178D371232AD0A47DB8972E7722BDF
|
||||
BA44356EB7C5D7B6EAB76305BE2267F4F8F7F3579F8CEFB2919FCB14FE218197B6C2997BEF23DF
|
||||
8FBB588F2DCF0F2D3AE1F057FC2049FD732C238981F5FBD1B057B49A4C0092BC958780EE01BEE2
|
||||
A4F42B0486935409EAB9E8E1C0E8D7D46D834A09E191FEDBA815094F745B87F2BAAEAB278B0FD7
|
||||
C68A95363FAA80A24BD3CD02979B6C0A168A7C056370020D4E70721FD0309D6405D1E61FB307B1
|
||||
5C54FF8139EAE59C2A1BA1D893A7D26609296369763BA51577B5C9A7497A7DAE54E939C289E4D0
|
||||
C925B456EA7A08DE43D89BA5AD3E5E629637AAA91BDE15D982A3FF9971C6EDCC8568B3A262DB7A
|
||||
B3BD950E4C9A372D2995B7EF38DF40246F2EF7366A8DD25074BB52FAD66589E892DC53B0F76D94
|
||||
E54381D0D5ACE114E8B1114E1233419C688B207F2982633960DF741AC2D97B9CBE1C492F2F7A70
|
||||
EA70968F75DC7C49F3F17864ACD90177CA8E0E1F02BA7EEDA27271F2ADBCD7F8C980CAC6ABA671
|
||||
8E3BAC6016FB2BDB2D44A81A0967386BF9E6212797B0F2F9A9B2B4A2015DE47D4722289E5632FC
|
||||
3BDCE60F5F1AF5D1033BAFA4366FA938B1DC63A799190319CF16236EEAA454585C3D22DA9E28CA
|
||||
C0174C9C878075F29692C9865C54726316A0016E148F37210E1C90BFDE8FF6A6AE696529B3039A
|
||||
1BA3C28179C198035CE42A1F794B290814BC98EE2F46A39750DDD65C873F25D173ACDEE1A5BC53
|
||||
1564EA76995DCF122E4E1D05F6E84524A2FE136E6BE115F8E3E80AAEC073A150DDFA6394B0FE5B
|
||||
0398FC08F49C2B271960182F63ECCC2F71C973A0768F5D1464D86CFA932B9FEBAEA87EF97E0FCD
|
||||
6EFE7E4BBED09C2184902176FB7D2EA1A885250D338EA4C8FE4DF827A402CB4D511B730E98C644
|
||||
D3009A2A6AA30604DCC012F9B3833AC40FB72040EBB22FF3CCF65697158F50248F2ED01F749570
|
||||
6684DCA7556FABF359CCC3A73FEB39E2AABBE9E337C1B338EA33CF54BF25B8B9788F418CFB064E
|
||||
0667948946027A755ABFBA7A72EE83D34533F95A72F34A724181C6E52C1944D11F6DD2B2AB4E1E
|
||||
3C9BB1C94A0782DDB2B63BDA717DDAE42618B99E24AAD06B5463DFDC8C055F39820911D2BF2605
|
||||
3CC93F110ED75B5F48DA4599454C03461C95F48A1915EE53689C05AE84A7B1D3938FF5B3AC5F5A
|
||||
34A1BA2725FA5BDBA7B6C272FBA86731207502C8BBECCEF03B6CD4E50FE6FDEFFC87E74F48816A
|
||||
566A1222BE1F47491DBD73E4DECB5791BA834D4D1C99C497985959A1847B817751C4ABAF98D96A
|
||||
6F995AE37DB073655CBFBB9DC91497CCA1434BCDEBD5F83CB160E74963BA96F0E795FF727061C4
|
||||
D0CA9FFA9B373762EC0FE39E1CD41C6D2434537D159EEE9ECFDD6F3564F31452035D2303D7938A
|
||||
AF260E8442D58EF5BFDA2DA2FEA1D89582C1E13903CE2002BBCBE0F79D623A3498A7333B1F9A9F
|
||||
383795981679F5DC5F1B782F20F3464D00107970B2B05FED2A02BA813C66BCFC67385B79EF4358
|
||||
AAA05039F1765780177E1CF51A5B4CE720D491C16D929495015AACABC3F898068EC8EE33895AF7
|
||||
2AA3EB7203BCAAAE9ACB00390BF9AA87B113C230FB9B1442FA0C2102DBDEB3B95B712F05407B9B
|
||||
7012A0602009A6A69474181B552E8398D8B9093E588427C2A4EE8F601332A89DE59724C07DD39A
|
||||
C83B5FA441256A517117801E56FE217B47764C79B4250A8ABF00B60B6B68A7919A4BCDAF8C9A6B
|
||||
590F6A7F93C361D74606B0C96A6242A515E859032AF658E3817943FCAC6981FE1D7C865D5CC57E
|
||||
000A3F1E9535E0C45105ED0B0BD4700C29E9C89441C931785925B711E1FD4E8ECCBB3F7A3AD63F
|
||||
68C41C1BCE45557139D329C076E167DDD4FFAAE81D4664353D03C20759354232D85EA6869854EA
|
||||
2D9E8AA9300D3DF0039A0A0AB73D018476B5F9BA8B5CCA9A20270FC1CEA623630FBA1ACFB66BB6
|
||||
BBE9A218855F07DCA2479EB8876354533186C7FEC2D63B3974D3FB8C3F5064BC8A0EAD9B8F1698
|
||||
85F93B1BEB0181242D76A94956BBC5314E57515C3ACFFAE5CFA1C1584715C4290A850847C06995
|
||||
18B2CA576B128EBD9BE61196EB0A2CCC51477707D1D073CCAD6851501EA673966FE65E2342C54C
|
||||
05C81CD80FFDF78FDCC77A0C0E8C5FABA906C1FDD4D08DE0184BCEC1BF9E6F7AAB80862A4E5EF6
|
||||
509ECFCD45D48A74EA2886D244A361256E8B8112DDDD5432C68936FD7FC2D5A62722BB50183470
|
||||
11DC2FE65B2C7E28005347EE495FE071E59DF2326E9C4B91D324BE9185D3511212B2A2E47CFA7B
|
||||
D1A4CD5CB3CB986488FC985E7624737A00F18C547852AC26658210C94C2F84761BA0230AB0F484
|
||||
18D591E115C6016EC39B97F8B12899FD7A4C1C6B155EF17EF46AEC8FC6F5D10353EBAD43D87C44
|
||||
A085A86F9DBA13F0BEB46C85DA96D08C1D9BC65E2E5443631AE92FDDD68E3E24A2F2249E36460D
|
||||
F1CCBB2CF80A5D1545D8AC3D71D9B11098EA4DC944B4D1F83E43DD9C3804B101220A74692FF7E2
|
||||
281D509FA230567FD325D0D2717150C52C557506D61DDDD33430230E74F6E9ADC722B24A7471AA
|
||||
9ABE1942AFB075E2AF7A1EBABF205EE7C89EFA9807BA76E28F12406B0B2B8E3404768EF607131D
|
||||
E759494BFA1B2F935415299734E0C68EAF737D44F207163E16AF0CEE304CB57E5AFE3E5DA24DA2
|
||||
4513A3BE9F1A7E489AAFFBA73F46E0475705AFB8C0762FB011FF6AA4CF201BDC4F519BE49E18EF
|
||||
C5406269E9850A8D70BE682451B541094FB99C7DC23693A2761826BE7531E4FF4F853FB38EE944
|
||||
94E51A45991E256F0E9B841945351EC27AA28F33717EE276D3F1ACCDA6584A89C11F9FA0878B98
|
||||
96ED230C9440E6DE15F6F16D3DFFF568CF1DFDCD629A0259C174C5B366A13C545AFBF7EBAB3499
|
||||
6F7F0EED236BDFB8B20CCA618BB717E63658DC3805C259AF55E1A515AAC1E6D1A25AF80925D54E
|
||||
3AB059F1634D966AC7A184B22D03CB000F766C60C579684CA613D8B6DCEBD3202C11D117797435
|
||||
D88FA620A0CA34E7C1242E2AF58EE6B102C15D6D19EEFD837E360AAD094BA6C646FB18FA15C2A2
|
||||
3755DF7B1A5E78460E3625BC0496B864405BC5EB57690ED18A7402F5A5EBA9FE39AD3B89000652
|
||||
90DFDE4604A8837DB0E8C15CED65679FCBAE5E36AD6361CB1BAD709F4CC7EB620D4F36FBB41CB9
|
||||
CF1A58E92D31E48419D4C3E265E465AC1D1A72CA49FEFB007BE89FC577BE36EA07CC77DD456A4B
|
||||
9A1B534347A9FCEB1E342B3BDAA514289DBC68C504A3F0BA2F2CBDB2FEA9BEE064FD28B616594C
|
||||
B9544AE541ED7C3BD384D5AF90E04F3054D3525A1650A14A61F9458A5B57645310C6BF0E4228C4
|
||||
8368E50433AD91AB68C5420BC0D280BC01DE983DE039B205B82349BB16F96F6AE3563335B0BA23
|
||||
ECE046C4C8B74545AED35F6686A53AD04CCADF82D6158907BD7849D308E8211FCAE32A0D7C6530
|
||||
833520005842093FDEE243B68BED8ED474CA329F4456D46E3EA01E4E8D350C710CFA5211B7DDE4
|
||||
1119BF82249E7BC7CF2B34A7AB2CAD5919DB030F08DCB38203537B864E208AB2AF0E7C71D6241D
|
||||
D52068080641FF8F0ABF3C7870D3ED073C858E9037868D4CFC078E65E2781146550320B5760C6D
|
||||
C267F0FCBDA013AC5D3E53104D29FC7BE967F94756337BA8326A4236CF1BF6ABEFE33ACFCCDB6E
|
||||
FB14F847D0966FA25C3712ACB68FB1D43323198D2114FB4699814307311A06EE32E6BA0874D891
|
||||
C33471BEB116209013F89F843F47B3EB599F0D3C4E9FE3AB5164C6E9A91D219E0BE9E651A01A1F
|
||||
373FC8650A81A3303756D63CE841C7577DF7915FDF112897393B3CD3C3607DA7C6DCCEF2352595
|
||||
E532F8FF9E6636F90AC733CFA66FB911768C0CCEC0FA71E7E13E6291D5DF3CBD60E13B9979BC1A
|
||||
AD37FD2F1927B9755212E6ACF5DF241F231D8C46F656F85F563DACEFF22B117535332CA805099F
|
||||
1EDAE0D808021C9F401B44A5AD7B60A447E229D8BB7B0808C152F2008D6762C95E5461399DE9D8
|
||||
CE542B5F9B706D0D3A57F2FC0E8C0773414A9E68434D1FDDF5B6FFBEB267F68D9D9161774094FE
|
||||
01239404823F2CCBA524C1C01716D2FBBA0084127ACF78EE9DFBAA0ED8F78BE95C86C125940CC4
|
||||
4B212C731159B19C0B408E99D4C548AA46B2AE843FE48E468198F8D95756960612B4202102F3E4
|
||||
D52B3820494459555FA4023263706F11B42893695D07F0EB8E127DFD37A97E91D5DC7FB0196446
|
||||
E01D601FBB5B8760E4AB2C29748812902D70DD542768348BA72474CB11002B3F8409B8EE61E994
|
||||
40F953E188265FD44098477F84C792A1370D6E69886F2B1519FD44C3D8A5864BDA156A7ECDA773
|
||||
07A0E02FDD14EEC81E3B47290710078FFC0327CD05EF83322B2895F5EFD50316AB6DD8E4728C41
|
||||
6E53A4D1FBFF227B6AA74AF674D610ABE75232164D67A28888CD1761F1495EA4E952D7C6E9DFF7
|
||||
F34BB44BF18EA414A777D0287FDE8D87AF5961964C3983B34CDA085C809460FE1AC18BA1EF66F7
|
||||
6BFE1DED0C4D2F5BB503464F6AE24C3EB1D8A0FFBAD22E62CD09A44C42F5AC9F65639A617A4BE5
|
||||
A7ED95ED939485671FADE5118C8C62B27903D13C872899813B511C16246D0EB28FD225992E4C45
|
||||
1FBACB81875A8BC56CC80F6CFFF53BCF0E13B5613D8E67183029B7297FED40D4A0094F69B05FF2
|
||||
2021C2E27B7581B9C02D849D58D53F6BE9B1393C0089EC07CB15624FAA4B85ED8221E559351E51
|
||||
78AB83CAC67F38C972A8A1763993356BE358E73378AAAE22FB2345EB68C09D61B7CA2A7217F396
|
||||
C25F8D1230E81CE01269DCE2FE7006BB68F50375A53A38FF7F387F19120260AD9E8E39A797AC33
|
||||
E85D7BD2F960A3E8606F7C7AC756279BC3B0DDDC2575D29800AF220D0928DCFEC6FD9A287A5E8E
|
||||
3CAD8D3FE4ED4904100163695F2C32B3BC9C3074E2AC1E28EFC899EF49D1424199663BEB347F6E
|
||||
E1
|
||||
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
cleartomark
|
||||
|
BIN
src/libs/pdflib/bind/pdflib/data/blocks.pdf
Normal file
BIN
src/libs/pdflib/bind/pdflib/data/blocks.pdf
Normal file
Binary file not shown.
BIN
src/libs/pdflib/bind/pdflib/data/boilerplate.pdf
Normal file
BIN
src/libs/pdflib/bind/pdflib/data/boilerplate.pdf
Normal file
Binary file not shown.
BIN
src/libs/pdflib/bind/pdflib/data/nesrin.jpg
Normal file
BIN
src/libs/pdflib/bind/pdflib/data/nesrin.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
BIN
src/libs/pdflib/bind/pdflib/data/reference.pdf
Normal file
BIN
src/libs/pdflib/bind/pdflib/data/reference.pdf
Normal file
Binary file not shown.
BIN
src/libs/pdflib/bind/pdflib/data/stationery.pdf
Normal file
BIN
src/libs/pdflib/bind/pdflib/data/stationery.pdf
Normal file
Binary file not shown.
86
src/libs/pdflib/bind/pdflib/java/jsp/businesscard.jsp
Normal file
86
src/libs/pdflib/bind/pdflib/java/jsp/businesscard.jsp
Normal file
@ -0,0 +1,86 @@
|
||||
<%@page import="java.io.*, javax.servlet.*, com.pdflib.pdflib" %><%
|
||||
|
||||
/* $Id: businesscard.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* businesscard.jsp
|
||||
*/
|
||||
|
||||
|
||||
int font;
|
||||
pdflib p = null ;
|
||||
int i, blockcontainer, pdipage;
|
||||
String infile = "boilerplate.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.
|
||||
*
|
||||
* Note that this directory must also contain the LuciduxSans font
|
||||
* outline and metrics files.
|
||||
*/
|
||||
String searchpath = "../data";
|
||||
String[][] data = {
|
||||
{ "name", "Victor Kraxi" },
|
||||
{ "business.title", "Chief Paper Officer" },
|
||||
{ "business.address.line1", "17, Aviation Road" },
|
||||
{ "business.address.city", "Paperfield" },
|
||||
{ "business.telephone.voice","phone +1 234 567-89" },
|
||||
{ "business.telephone.fax", "fax +1 234 567-98" },
|
||||
{ "business.email", "victor@kraxi.com" },
|
||||
{ "business.homepage", "www.kraxi.com" },
|
||||
};
|
||||
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "businesscard.jsp");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title","PDFlib block processing sample (JSP)");
|
||||
|
||||
blockcontainer = p.open_pdi(infile, "", 0);
|
||||
if (blockcontainer == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
pdipage = p.open_pdi_page(blockcontainer, 1, "");
|
||||
if (pdipage == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.begin_page(20, 20); // dummy page size
|
||||
|
||||
// This will adjust the page size to the block container's size.
|
||||
p.fit_pdi_page(pdipage, 0, 0, "adjustpage");
|
||||
|
||||
// Fill all text blocks with dynamic data
|
||||
for (i = 0; i < (int) data.length; i++) {
|
||||
if (p.fill_textblock(pdipage, data[i][0], data[i][1],
|
||||
"embedding encoding=winansi") == -1) {
|
||||
System.err.println("Warning: " + p.get_errmsg());
|
||||
}
|
||||
}
|
||||
|
||||
p.end_page(); // close page
|
||||
p.close_pdi_page(pdipage);
|
||||
|
||||
p.close(); // close PDF document
|
||||
p.close_pdi(blockcontainer);
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
%>
|
115
src/libs/pdflib/bind/pdflib/java/jsp/chartab.jsp
Normal file
115
src/libs/pdflib/bind/pdflib/java/jsp/chartab.jsp
Normal file
@ -0,0 +1,115 @@
|
||||
<%@page import="java.io.*, javax.servlet.*, com.pdflib.pdflib" %><%
|
||||
|
||||
/* $Id: chartab.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* chartab.jsp
|
||||
*/
|
||||
|
||||
/* change these as required */
|
||||
String fontname = "LuciduxSans-Oblique";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
String searchpath = "../data";
|
||||
|
||||
/* list of encodings to use */
|
||||
String encodings[] = { "iso8859-1", "iso8859-2", "iso8859-15" };
|
||||
int ENCODINGS = 3;
|
||||
float FONTSIZE= 16;
|
||||
float TOP = 700;
|
||||
float LEFT = 50;
|
||||
float YINCR = 2*FONTSIZE;
|
||||
float XINCR = 2*FONTSIZE;
|
||||
|
||||
/* whether or not to embed the font */
|
||||
int embed = 1;
|
||||
|
||||
String buf;
|
||||
float x, y;
|
||||
int row, col, font, codepage;
|
||||
|
||||
pdflib p = null ;
|
||||
byte[] outbuf;
|
||||
ServletOutputStream output;
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_parameter("openaction", "fitpage");
|
||||
p.set_parameter("fontwarning", "true");
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "chartab.jsp");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Character table (Java/JSP)");
|
||||
|
||||
/* loop over all encodings */
|
||||
for (codepage = 0; codepage < ENCODINGS; codepage++)
|
||||
{
|
||||
p.begin_page(595, 842); /* start a new page */
|
||||
|
||||
/* print the heading and generate the bookmark */
|
||||
font = p.load_font("Helvetica", "winansi", "");
|
||||
p.setfont(font, FONTSIZE);
|
||||
if (embed == 1) {
|
||||
buf = fontname + " (" + encodings[codepage] + ") embedded";
|
||||
} else{
|
||||
buf = fontname + " (" + encodings[codepage] + ") not embedded";
|
||||
}
|
||||
|
||||
p.show_xy(buf, LEFT - XINCR, TOP + 3 * YINCR);
|
||||
p.add_bookmark(buf, 0, 0);
|
||||
|
||||
/* print the row and column captions */
|
||||
p.setfont(font, 2 * FONTSIZE/3);
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
buf ="x" + (Integer.toHexString(row)).toUpperCase();
|
||||
p.show_xy(buf, LEFT + row*XINCR, TOP + YINCR);
|
||||
|
||||
buf = (Integer.toHexString(row)).toUpperCase() + "x";
|
||||
p.show_xy(buf, LEFT - XINCR, TOP - row * YINCR);
|
||||
}
|
||||
|
||||
/* print the character table */
|
||||
if (embed == 1) {
|
||||
buf = "embedding";
|
||||
} else{
|
||||
buf = "";
|
||||
}
|
||||
font = p.load_font(fontname, encodings[codepage],buf);
|
||||
p.setfont(font, FONTSIZE);
|
||||
|
||||
y = TOP;
|
||||
x = LEFT;
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
for (col = 0; col < 16; col++) {
|
||||
buf = String.valueOf((char)(16*row + col));
|
||||
p.show_xy(buf, x, y);
|
||||
x += XINCR;
|
||||
}
|
||||
x = LEFT;
|
||||
y -= YINCR;
|
||||
}
|
||||
|
||||
p.end_page(); /* close page */
|
||||
}
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
outbuf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(outbuf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(outbuf);
|
||||
output.close();
|
||||
%>
|
46
src/libs/pdflib/bind/pdflib/java/jsp/hello.jsp
Normal file
46
src/libs/pdflib/bind/pdflib/java/jsp/hello.jsp
Normal file
@ -0,0 +1,46 @@
|
||||
<%@page import="java.io.*, javax.servlet.*, com.pdflib.pdflib" %><%
|
||||
|
||||
/* $Id: hello.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* hello.jsp
|
||||
*/
|
||||
|
||||
int font;
|
||||
pdflib p;
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_info("Creator", "hello.jsp");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "Hello world (Java/JSP)!");
|
||||
|
||||
p.begin_page(595, 842); /* start a new page */
|
||||
|
||||
font = p.load_font("Helvetica-Bold", "winansi", "");
|
||||
|
||||
p.setfont(font, 18);
|
||||
|
||||
p.set_text_pos(50, 700);
|
||||
p.show("Hello world!");
|
||||
p.continue_text("(says Java/JSP)");
|
||||
p.end_page(); /* close page */
|
||||
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
%>
|
52
src/libs/pdflib/bind/pdflib/java/jsp/image.jsp
Normal file
52
src/libs/pdflib/bind/pdflib/java/jsp/image.jsp
Normal file
@ -0,0 +1,52 @@
|
||||
<%@page import="java.io.*, javax.servlet.*, com.pdflib.pdflib" %><%
|
||||
/* $Id: image.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* image.jsp
|
||||
*/
|
||||
|
||||
int image;
|
||||
float width, height;
|
||||
pdflib p;
|
||||
String imagefile = "nesrin.jpg";
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "image.jsp");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "image sample (JSP)");
|
||||
|
||||
image = p.load_image("auto", imagefile, "");
|
||||
|
||||
if (image == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
/* dummy page size, will be adjusted by PDF_fit_image() */
|
||||
p.begin_page(10, 10);
|
||||
p.fit_image(image, (float) 0.0, (float) 0.0, "adjustpage");
|
||||
p.close_image(image);
|
||||
p.end_page();
|
||||
|
||||
p.close();
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
%>
|
167
src/libs/pdflib/bind/pdflib/java/jsp/invoice.jsp
Normal file
167
src/libs/pdflib/bind/pdflib/java/jsp/invoice.jsp
Normal file
@ -0,0 +1,167 @@
|
||||
<%@page import="java.io.*,
|
||||
javax.servlet.*,
|
||||
java.text.*,
|
||||
java.util.*,
|
||||
com.pdflib.pdflib"
|
||||
%><%
|
||||
|
||||
/* $Id: invoice.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* invoice.jsp
|
||||
*/
|
||||
|
||||
pdflib p = null ;
|
||||
int i, form, pdipage, regularfont, boldfont;
|
||||
String infile = "stationery.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
final float col1 = 55;
|
||||
final float col2 = 100;
|
||||
final float col3 = 330;
|
||||
final float col4 = 430;
|
||||
final float col5 = 530;
|
||||
float fontsize = 12, leading, y;
|
||||
float sum, total;
|
||||
float pagewidth = 595, pageheight = 842;
|
||||
Date now = new Date();
|
||||
DateFormat fulldate = DateFormat.getDateInstance(DateFormat.LONG);
|
||||
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
|
||||
String closingtext =
|
||||
"30 days warranty starting at the day of sale. " +
|
||||
"This warranty covers defects in workmanship only. " +
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the " +
|
||||
"product under the warranty. This warranty is not transferable. " +
|
||||
"No returns or exchanges will be accepted for wet products.";
|
||||
|
||||
String[][] data = {
|
||||
{ "Super Kite", "20", "2"},
|
||||
{ "Turbo Flyer", "40", "5"},
|
||||
{ "Giga Trash", "180", "1"},
|
||||
{ "Bare Bone Kit", "50", "3"},
|
||||
{ "Nitty Gritty", "20", "10"},
|
||||
{ "Pretty Dark Flyer", "75", "1"},
|
||||
{ "Free Gift", "0", "1"},
|
||||
};
|
||||
|
||||
String[] months = {
|
||||
"January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December"
|
||||
};
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "invoice.jsp");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "PDFlib invoice generation demo (Java/JSP)");
|
||||
|
||||
form = p.open_pdi(infile, "", 0);
|
||||
if (form == -1) {
|
||||
System.err.println("Couldn't open infile '" + infile + "'.\n");
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
pdipage = p.open_pdi_page(form, 1, "");
|
||||
if (pdipage == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
boldfont = p.load_font("Helvetica-Bold", "winansi", "");
|
||||
regularfont = p.load_font("Helvetica", "winansi", "");
|
||||
leading = fontsize + 2;
|
||||
|
||||
// Establish coordinates with the origin in the upper left corner.
|
||||
p.set_parameter("topdown", "true");
|
||||
|
||||
p.begin_page(pagewidth, pageheight); // A4 page
|
||||
|
||||
p.fit_pdi_page(pdipage, 0, pageheight, "");
|
||||
p.close_pdi_page(pdipage);
|
||||
|
||||
p.setfont(regularfont, fontsize);
|
||||
|
||||
// Print the address
|
||||
y = 170;
|
||||
p.set_value("leading", leading);
|
||||
|
||||
p.show_xy("John Q. Doe", col1, y);
|
||||
p.continue_text("255 Customer Lane");
|
||||
p.continue_text("Suite B");
|
||||
p.continue_text("12345 User Town");
|
||||
p.continue_text("Everland");
|
||||
|
||||
// Print the header and date
|
||||
|
||||
p.setfont(boldfont, fontsize);
|
||||
y = 300;
|
||||
p.show_xy("INVOICE", col1, y);
|
||||
|
||||
p.fit_textline(fulldate.format(now), col5, y, "position {100 0}");
|
||||
|
||||
// Print the invoice header line
|
||||
p.setfont(boldfont, fontsize);
|
||||
|
||||
// "position {0 0}" is left-aligned, "position {100 0}" right-aligned
|
||||
y = 370;
|
||||
p.fit_textline("ITEM", col1, y, "position {0 0}");
|
||||
p.fit_textline("DESCRIPTION", col2, y, "position {0 0}");
|
||||
p.fit_textline("QUANTITY", col3, y, "position {100 0}");
|
||||
p.fit_textline("PRICE", col4, y, "position {100 0}");
|
||||
p.fit_textline("AMOUNT", col5, y, "position {100 0}");
|
||||
|
||||
// Print the article list
|
||||
|
||||
p.setfont(regularfont, fontsize);
|
||||
y += 2*leading;
|
||||
total = 0;
|
||||
|
||||
for (i = 0; i < data.length; i++) {
|
||||
p.show_xy(Integer.toString(i+1), col1, y);
|
||||
p.show_xy(data[i][0], col2, y);
|
||||
p.fit_textline(data[i][2], col3, y, "position {100 0}");
|
||||
p.fit_textline(data[i][1], col4, y, "position {100 0}");
|
||||
sum = 0;
|
||||
|
||||
sum = Integer.parseInt(data[i][2]) * Integer.parseInt(data[i][1]);
|
||||
p.fit_textline(Float.toString(sum), col5, y, "position {100 0}");
|
||||
|
||||
y += leading;
|
||||
total += sum;
|
||||
}
|
||||
|
||||
y += leading;
|
||||
p.setfont(boldfont, fontsize);
|
||||
p.fit_textline(Float.toString(total), col5, y, "position {100 0}");
|
||||
|
||||
// Print the closing text
|
||||
|
||||
y += 5*leading;
|
||||
p.setfont(regularfont, fontsize);
|
||||
p.set_value("leading", leading);
|
||||
p.show_boxed(closingtext,
|
||||
col1, y + 4*leading, col5-col1, 4*leading, "justify", "");
|
||||
|
||||
p.end_page();
|
||||
p.close();
|
||||
p.close_pdi(form);
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
%>
|
114
src/libs/pdflib/bind/pdflib/java/jsp/pdfclock.jsp
Normal file
114
src/libs/pdflib/bind/pdflib/java/jsp/pdfclock.jsp
Normal file
@ -0,0 +1,114 @@
|
||||
<%@page import="java.io.*,
|
||||
javax.servlet.*,
|
||||
java.text.*,
|
||||
java.util.*,
|
||||
com.pdflib.pdflib" %><%
|
||||
/* $Id: pdfclock.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* PDFclock.jsp
|
||||
*/
|
||||
|
||||
pdflib p;
|
||||
int tm_hour, tm_min, tm_sec, alpha;
|
||||
float RADIUS = 200.0f;
|
||||
float MARGIN = 20.0f;
|
||||
SimpleDateFormat format;
|
||||
Date now = new Date();
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_info("Creator", "pdfclock.jsp");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "PDF clock (Java/JSP)");
|
||||
|
||||
p.begin_page( (int) (2 * (RADIUS + MARGIN)),
|
||||
(int) (2 * (RADIUS + MARGIN)));
|
||||
|
||||
p.translate(RADIUS + MARGIN, RADIUS + MARGIN);
|
||||
p.setcolor("fillstroke", "rgb", 0.0f, 0.0f, 1.0f, 0.0f);
|
||||
p.save();
|
||||
|
||||
// minute strokes
|
||||
p.setlinewidth(2.0f);
|
||||
for (alpha = 0; alpha < 360; alpha += 6)
|
||||
{
|
||||
p.rotate(6.0f);
|
||||
p.moveto(RADIUS, 0.0f);
|
||||
p.lineto(RADIUS-MARGIN/3, 0.0f);
|
||||
p.stroke();
|
||||
}
|
||||
|
||||
p.restore();
|
||||
p.save();
|
||||
|
||||
// 5 minute strokes
|
||||
p.setlinewidth(3.0f);
|
||||
for (alpha = 0; alpha < 360; alpha += 30)
|
||||
{
|
||||
p.rotate(30.0f);
|
||||
p.moveto(RADIUS, 0.0f);
|
||||
p.lineto(RADIUS-MARGIN, 0.0f);
|
||||
p.stroke();
|
||||
}
|
||||
|
||||
format = new SimpleDateFormat("hh");
|
||||
tm_hour= Integer.parseInt(format.format(now));
|
||||
format = new SimpleDateFormat("mm");
|
||||
tm_min = Integer.parseInt(format.format(now));
|
||||
format = new SimpleDateFormat("ss");
|
||||
tm_sec = Integer.parseInt(format.format(now));
|
||||
|
||||
// draw hour hand
|
||||
p.save();
|
||||
p.rotate((-((tm_min/60.0f) + tm_hour - 3.0f) * 30.0f));
|
||||
p.moveto(-RADIUS/10, -RADIUS/20);
|
||||
p.lineto(RADIUS/2, 0.0f);
|
||||
p.lineto(-RADIUS/10, RADIUS/20);
|
||||
p.closepath();
|
||||
p.fill();
|
||||
p.restore();
|
||||
|
||||
// draw minute hand
|
||||
p.save();
|
||||
p.rotate((-((tm_sec/60.0f) + tm_min - 15.0f) * 6.0f));
|
||||
p.moveto(-RADIUS/10, -RADIUS/20);
|
||||
p.lineto(RADIUS * 0.8f, 0.0f);
|
||||
p.lineto(-RADIUS/10, RADIUS/20);
|
||||
p.closepath();
|
||||
p.fill();
|
||||
p.restore();
|
||||
|
||||
// draw second hand
|
||||
p.setcolor("fillstroke", "rgb", 1.0f, 0.0f, 0.0f, 0.0f);
|
||||
p.setlinewidth(2);
|
||||
p.save();
|
||||
p.rotate(-((tm_sec - 15.0f) * 6.0f));
|
||||
p.moveto(-RADIUS/5, 0.0f);
|
||||
p.lineto(RADIUS, 0.0f);
|
||||
p.stroke();
|
||||
p.restore();
|
||||
|
||||
// draw little circle at center
|
||||
p.circle(0f, 0f, RADIUS/30);
|
||||
p.fill();
|
||||
|
||||
p.restore();
|
||||
p.end_page();
|
||||
p.close();
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
%>
|
94
src/libs/pdflib/bind/pdflib/java/jsp/quickreference.jsp
Normal file
94
src/libs/pdflib/bind/pdflib/java/jsp/quickreference.jsp
Normal file
@ -0,0 +1,94 @@
|
||||
<%@page import="java.io.*,
|
||||
javax.servlet.*,
|
||||
com.pdflib.pdflib" %><%
|
||||
/* $Id: quickreference.jsp,v 1.1 2004/10/06 17:46:41 laplace Exp $
|
||||
*
|
||||
* quickreference.jsp
|
||||
*/
|
||||
|
||||
int font, row, col, i;
|
||||
int manual, pages;
|
||||
final int maxrow=2, maxcol=2;
|
||||
int startpage = 1, endpage = 4;
|
||||
final float width = 500, height = 770;
|
||||
int pageno;
|
||||
String infile = "reference.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
String searchpath = "../data";
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
|
||||
pdflib p;
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "quickreference.jsp");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "quickreference (Java/JSP)");
|
||||
|
||||
manual = p.open_pdi(infile, "", 0);
|
||||
row = 0;
|
||||
col = 0;
|
||||
i = 0;
|
||||
|
||||
if (manual == -1){
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
p.set_parameter("topdown", "true");
|
||||
|
||||
for (pageno = startpage; pageno <= endpage; pageno++) {
|
||||
if (row == 0 && col == 0) {
|
||||
i++;
|
||||
p.begin_page(width, height);
|
||||
font = p.load_font("Helvetica-Bold", "winansi", "");
|
||||
p.setfont(font, 18);
|
||||
p.set_text_pos(24, 24);
|
||||
p.show("PDFlib Quick Reference");
|
||||
}
|
||||
|
||||
pages = p.open_pdi_page(manual, pageno, "");
|
||||
|
||||
if (pages == -1) {
|
||||
System.err.println("Error: " + p.get_errmsg());
|
||||
System.exit(1);
|
||||
}
|
||||
p.fit_pdi_page(manual, width/maxcol*col,
|
||||
(row + 1) * height/maxrow, "scale " + (float)1/maxrow);
|
||||
|
||||
p.close_pdi_page(pages);
|
||||
|
||||
col++;
|
||||
if (col == maxcol) {
|
||||
col = 0;
|
||||
row++;
|
||||
}
|
||||
if (row == maxrow) {
|
||||
row = 0;
|
||||
p.end_page();
|
||||
}
|
||||
}
|
||||
// finish the last partial page
|
||||
if (row != 0 || col != 0)
|
||||
p.end_page();
|
||||
|
||||
p.close();
|
||||
p.close_pdi(manual);
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
%>
|
232
src/libs/pdflib/bind/pdflib/java/readme.txt
Normal file
232
src/libs/pdflib/bind/pdflib/java/readme.txt
Normal file
@ -0,0 +1,232 @@
|
||||
Using the JSP and servlet examples
|
||||
==================================
|
||||
|
||||
Before using the examples you must either copy the relevant
|
||||
image and PDF files to an appropriate location, or modify
|
||||
the paths in the source code to point to the sample files.
|
||||
|
||||
Note: If you find corrections to the instructions below, or
|
||||
can contribute configuration hints for other environments
|
||||
we'll be happy to hear from you -- please send all suggestions
|
||||
to support@pdflib.com.
|
||||
|
||||
|
||||
Exception: PDFlib already loaded in another classloader
|
||||
=======================================================
|
||||
|
||||
When using PDFlib (on any platform) with an application server you
|
||||
may encounter the following exception:
|
||||
|
||||
java.lang.UnsatisfiedLinkError: Native Library
|
||||
C:\WINNT\system32\pdf_java.dll already loaded in another classloader
|
||||
|
||||
This is caused by multiple classloaders trying to load the PDFlib class,
|
||||
and therefore the PDFlib native libary, into the server's address space
|
||||
simultaneously. The problem can be avoided by putting pdflib.jar into
|
||||
the global class path instead of the classpath of the web application.
|
||||
The PDFlib shared library/DLL should still be placed in an accessible
|
||||
system directory.
|
||||
|
||||
For example, for Tomcat consider the following directories for pdflib.jar:
|
||||
bad: WEB-INF/lib
|
||||
good: $CATALINA_HOME/shared/lib
|
||||
|
||||
|
||||
Using PDFlib with IBM Visual Age for Java
|
||||
==========================================
|
||||
|
||||
- Add pdflib.jar to your project.
|
||||
|
||||
- Place pdf_java.dll in the \winnt\system32 directory, or some
|
||||
other directory contained in the PATH environment variable.
|
||||
|
||||
- Relative pathnames in PDFlib function calls are interpreted relative
|
||||
to the java bin directory, not the project directory. For this reason
|
||||
the output of the supplied PDFlib samples may end up in some strange
|
||||
place. Absolute path names work.
|
||||
|
||||
|
||||
Using PDFlib with Borland JBuilder
|
||||
==================================
|
||||
|
||||
- Having pdflib.java in the same directory as the project file
|
||||
seems to confuse JBuilder.
|
||||
|
||||
- On Windows pdf_java.dll must be placed in the \winnt\system32 directory,
|
||||
or some other directory contained in the PATH environment variable.
|
||||
On Linux libpdf_java.so should be placed in /usr/lib or a similar
|
||||
well-known (to the system) directory.
|
||||
|
||||
- Relative pathnames in PDFlib function calls are interpreted relative
|
||||
to the JBuilder bin directory, not the project directory. For this
|
||||
reason the output of the supplied PDFlib samples may end up in some
|
||||
strange place. Absolute path names work.
|
||||
|
||||
|
||||
Using PDFlib with MacroMedia ColdFusion MX
|
||||
==========================================
|
||||
|
||||
We recommend the PDFlib Java edition (instead of the COM edition) for
|
||||
use with ColdFusion MX. Install the PDFlib Java edition by extracting
|
||||
pdflib.jar and pdf_java.dll into a folder defined in ColdFusion MX's
|
||||
Java classpath and the system's PATH variable (might as well just use
|
||||
C:/CFusionMX/lib). If you previously used the PDFlib COM edition
|
||||
with ColdFusion you have to change the <cfobject> tag parameters in
|
||||
the CF file as follows:
|
||||
|
||||
<cfobject type="Java" name="oPDF" class="com.pdflib.pdflib" action="create">
|
||||
|
||||
|
||||
Using PDFlib with Allaire JRun
|
||||
==============================
|
||||
|
||||
In order to use PDFlib with JRun the following is suggested:
|
||||
|
||||
- Copy PDFlib.jar and lib_java.dll to the .../JRun/servers/lib directory.
|
||||
|
||||
- Make sure that the lib directory is contained in the servlet.jnipath
|
||||
property. This property can be set from the management console, or
|
||||
specified in a local.properties file.
|
||||
|
||||
|
||||
Using PDFlib with J2EE-compliant servers
|
||||
========================================
|
||||
|
||||
In order to use PDFlib with J2EE do the following:
|
||||
|
||||
- Add the following lines in the file $J2EE_HOME/lib/security/server.policy
|
||||
in order to allow the PDFlib native library to be loaded:
|
||||
|
||||
// default permissions granted to all domains
|
||||
grant {
|
||||
permission java.lang.RuntimePermission "loadLibrary.*";
|
||||
permission java.lang.RuntimePermission "accessClassInPackage.*";
|
||||
...
|
||||
|
||||
- Use the deployment tool to add pdflib.jar to the project as an external
|
||||
jar library.
|
||||
It seems that pdflib.jar must be placed in the %J2EE_HOME%/lib directory;
|
||||
otherwise the server will attempt to load the PDFlib shared library
|
||||
multiply, resulting in the error message "shared library already loaded".
|
||||
|
||||
- pdf_java.dll or libpdf_java.so must be accessible in some system path,
|
||||
e.g. \winnt\system32 or /usr/local/lib, or via PATH/LD_LIBRARY_PATH.
|
||||
|
||||
- The PATH and CLASSPATH variables should point to the bin subdirectories
|
||||
of J2EE and JDK.
|
||||
|
||||
|
||||
Using PDFlib with Tomcat
|
||||
========================
|
||||
|
||||
In order to use PDFlib with Apache Tomcat do the following:
|
||||
|
||||
- Put the PDFlib shared library or DLL (e.g. pdf_java.dll) into a directly
|
||||
which is accessible systemwide (e.g. C:\winnt\system32).
|
||||
|
||||
- It is suggested to load PDFlib as early as possible. Loading PDFlib later
|
||||
in the servlet (e.g., via repositories) may fail due to different
|
||||
class loaders.
|
||||
|
||||
- Put pdflib.jar into
|
||||
$CATALINA_HOME/common/lib (Tomcat 3) or
|
||||
$CATALINA_HOME/shared/lib (Tomcat 4).
|
||||
|
||||
- Add a line similar to the file tomcat.properties:
|
||||
|
||||
wrapper.env="/usr/local/lib:/usr/lib:/lib"
|
||||
|
||||
- After building or installing PDFlib it may help to update the shared
|
||||
library cache via
|
||||
|
||||
ldconfig -v (or similar command depending on your Unix version)
|
||||
|
||||
|
||||
|
||||
Using PDFlib with IBM WebSphere Application Server
|
||||
==================================================
|
||||
|
||||
The instructions in this section apply to WebSphere 3 and 4.
|
||||
For WebSphere 5 please refer to the section above on J2EE-compliant
|
||||
servers.
|
||||
|
||||
Servlets are loaded with a custom class loader. For this reason,
|
||||
the pdflib.jar file has to be located in the Application Server's
|
||||
classpath rather than the web application's classpath.
|
||||
|
||||
To locate the pdflib.jar file in the app server's classpath, place the jar
|
||||
file in the \<WAS app-server's path>\lib directory and edit the
|
||||
admin.config file. In the admin.config file add the path to the jar file
|
||||
to the setting labeled:
|
||||
|
||||
com.ibm.ejs.sm.adminserver.classpath
|
||||
|
||||
If you use the Websphere Application Assembly Tool you can add pdflib.jar
|
||||
to your project.
|
||||
|
||||
The DLL or .so must be located somewhere on the machine's path.
|
||||
The winnt\system32 directory works for Windows, the bin directory
|
||||
of WAS on Solaris.
|
||||
|
||||
On the AS/400 make sure that the PDFLIB and PDF_JAVA SRVPGM can be
|
||||
found in the library list of the jobs running your Java apps. The
|
||||
easiest way to achieve this is to copy these SRVPGMs to the QGPL
|
||||
library. In most cases this library is found in every LIBL.
|
||||
|
||||
|
||||
Using PDFlib on Mac OS X
|
||||
========================
|
||||
|
||||
On Mac OS X the shared PDFlib library for Java, which has a default file
|
||||
name of libpdf_java.dylib, must be renamed to libpdf_java.jnilib. The
|
||||
PDFlib build process does this automatically.
|
||||
|
||||
The default search path for JNI libraries on OS X is as follows:
|
||||
|
||||
.:/usr/lib:/usr/lib/java:/lib:
|
||||
/System/Library/Frameworks/JavaVM.framework/Versions/1.2/Libraries
|
||||
|
||||
You can extend the JNI search path by defining the DYLD_LIBRARY_PATH
|
||||
with more directories.
|
||||
|
||||
|
||||
Using PDFlib with Apple WebObjects
|
||||
==================================
|
||||
|
||||
To the best of our knowledge, the following should be sufficient in order
|
||||
to use PDFlib with WebObjects:
|
||||
|
||||
- Use the java-framework-maker tool to create a new WebObjects Framework,
|
||||
and select PDFlib.jar as input package.
|
||||
|
||||
- Add the new framework to your project.
|
||||
|
||||
|
||||
Using PDFlib with Lotus Notes
|
||||
=============================
|
||||
|
||||
We don't have first-hand experience with deploying PDFlib in Notes.
|
||||
However, a user contributed the following information:
|
||||
|
||||
> Apparently when you compile the Java code and then you run the code, Domino
|
||||
> is not using the same paths. To compile the code you need to add the
|
||||
> pdflib.jar to the project. This can be done by clicking the Edit Project
|
||||
> button and browsing to the directory where the file is located and then
|
||||
> adding the file to the project. This will allow you to compile the code
|
||||
> without errors. If you are a programmer you will assume that since the
|
||||
> code compiled therefore Domino knows where the Java class resides but you
|
||||
> know what happens when you assume. The second thing that you need to do is
|
||||
> create a "\com\pdflib" directory within your Notes directory and put the
|
||||
> pdflib.class file in that directory. When you specify "import
|
||||
> com.pdflib.pdflib" this is where Java will go to look for the class
|
||||
> then it executes it. I found documentation that said that you can add a
|
||||
> path my adding a line in the notes.ini file "JavaUserClasses=yourpath" but
|
||||
> it did not work.
|
||||
|
||||
|
||||
Using PDFlib on SGI IRIX
|
||||
========================
|
||||
|
||||
Use the LD_LIBRARYN32_PATH environment variable (as opposed to the
|
||||
traditional LD_LIBRARY_PATH) in order to set the directory where the
|
||||
PDFlib shared library for Java will be found.
|
@ -0,0 +1,103 @@
|
||||
/* $Id: businesscardServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib client: hello servlet example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import javax.servlet.*;
|
||||
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class businesscardServlet extends GenericServlet
|
||||
{
|
||||
public void service(ServletRequest request, ServletResponse response)
|
||||
{
|
||||
int font;
|
||||
pdflib p = null ;
|
||||
int i, blockcontainer, page;
|
||||
String infile = "boilerplate.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.
|
||||
*
|
||||
* Note that this directory must also contain the LuciduxSans font
|
||||
* outline and metrics files.
|
||||
*/
|
||||
String searchpath = "../data";
|
||||
String[][] data = {
|
||||
{ "name", "Victor Kraxi" },
|
||||
{ "business.title", "Chief Paper Officer" },
|
||||
{ "business.address.line1", "17, Aviation Road" },
|
||||
{ "business.address.city", "Paperfield" },
|
||||
{ "business.telephone.voice","phone +1 234 567-89" },
|
||||
{ "business.telephone.fax", "fax +1 234 567-98" },
|
||||
{ "business.email", "victor@kraxi.com" },
|
||||
{ "business.homepage", "www.kraxi.com" },
|
||||
};
|
||||
byte[] buf;
|
||||
ServletOutputStream out;
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "businesscard.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title","PDFlib block processing sample (Java)");
|
||||
|
||||
blockcontainer = p.open_pdi(infile, "", 0);
|
||||
if (blockcontainer == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
page = p.open_pdi_page(blockcontainer, 1, "");
|
||||
if (page == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.begin_page(20, 20); // dummy page size
|
||||
|
||||
// This will adjust the page size to the block container's size.
|
||||
p.fit_pdi_page(page, 0, 0, "adjustpage");
|
||||
|
||||
// Fill all text blocks with dynamic data
|
||||
for (i = 0; i < (int) data.length; i++) {
|
||||
if (p.fill_textblock(page, data[i][0], data[i][1],
|
||||
"embedding encoding=winansi") == -1) {
|
||||
System.err.println("Warning: " + p.get_errmsg());
|
||||
}
|
||||
}
|
||||
|
||||
p.end_page(); // close page
|
||||
p.close_pdi_page(page);
|
||||
|
||||
p.close(); // close PDF document
|
||||
p.close_pdi(blockcontainer);
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
out = response.getOutputStream();
|
||||
out.write(buf);
|
||||
out.close();
|
||||
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in businesscard sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
136
src/libs/pdflib/bind/pdflib/java/servlet/chartabServlet.java
Normal file
136
src/libs/pdflib/bind/pdflib/java/servlet/chartabServlet.java
Normal file
@ -0,0 +1,136 @@
|
||||
/* $Id: chartabServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib client: hello servlet example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import javax.servlet.*;
|
||||
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class chartabServlet extends GenericServlet
|
||||
{
|
||||
/* change these as required */
|
||||
static final String fontname = "LuciduxSans-Oblique";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
static final String searchpath = "../data";
|
||||
|
||||
/* list of encodings to use */
|
||||
static final String encodings[] = { "iso8859-1", "iso8859-2", "iso8859-15" };
|
||||
static final int ENCODINGS = 3;
|
||||
static final float FONTSIZE = 16;
|
||||
static final float TOP = 700;
|
||||
static final float LEFT = 50;
|
||||
static final float YINCR = 2*FONTSIZE;
|
||||
static final float XINCR = 2*FONTSIZE;
|
||||
|
||||
public void service(ServletRequest request, ServletResponse response)
|
||||
{
|
||||
/* whether or not to embed the font */
|
||||
int embed = 1;
|
||||
|
||||
String buf;
|
||||
float x, y;
|
||||
int row, col, font, page;
|
||||
|
||||
pdflib p = null ;
|
||||
byte[] outbuf;
|
||||
ServletOutputStream out;
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("openaction", "fitpage");
|
||||
p.set_parameter("fontwarning", "true");
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "chartabServlet.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Character table (Java/Servlet)");
|
||||
|
||||
/* loop over all encodings */
|
||||
for (page = 0; page < ENCODINGS; page++)
|
||||
{
|
||||
p.begin_page(595, 842); /* start a new page */
|
||||
|
||||
/* print the heading and generate the bookmark */
|
||||
font = p.load_font("Helvetica", "winansi", "");
|
||||
p.setfont(font, FONTSIZE);
|
||||
if (embed == 1) {
|
||||
buf = fontname + " (" + encodings[page] + ") embedded";
|
||||
} else{
|
||||
buf = fontname + " (" + encodings[page] + ") not embedded";
|
||||
}
|
||||
|
||||
p.show_xy(buf, LEFT - XINCR, TOP + 3 * YINCR);
|
||||
p.add_bookmark(buf, 0, 0);
|
||||
|
||||
/* print the row and column captions */
|
||||
p.setfont(font, 2 * FONTSIZE/3);
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
buf ="x" + (Integer.toHexString(row)).toUpperCase();
|
||||
p.show_xy(buf, LEFT + row*XINCR, TOP + YINCR);
|
||||
|
||||
buf = (Integer.toHexString(row)).toUpperCase() + "x";
|
||||
p.show_xy(buf, LEFT - XINCR, TOP - row * YINCR);
|
||||
}
|
||||
|
||||
/* print the character table */
|
||||
if (embed == 1) {
|
||||
buf = "embedding";
|
||||
} else{
|
||||
buf = "";
|
||||
}
|
||||
font = p.load_font(fontname, encodings[page],buf);
|
||||
p.setfont(font, FONTSIZE);
|
||||
|
||||
y = TOP;
|
||||
x = LEFT;
|
||||
|
||||
for (row = 0; row < 16; row++)
|
||||
{
|
||||
for (col = 0; col < 16; col++) {
|
||||
buf = String.valueOf((char)(16*row + col));
|
||||
p.show_xy(buf, x, y);
|
||||
x += XINCR;
|
||||
}
|
||||
x = LEFT;
|
||||
y -= YINCR;
|
||||
}
|
||||
|
||||
p.end_page(); /* close page */
|
||||
}
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
outbuf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(outbuf.length);
|
||||
|
||||
out = response.getOutputStream();
|
||||
out.write(outbuf);
|
||||
out.close();
|
||||
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in chartab sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
65
src/libs/pdflib/bind/pdflib/java/servlet/helloServlet.java
Normal file
65
src/libs/pdflib/bind/pdflib/java/servlet/helloServlet.java
Normal file
@ -0,0 +1,65 @@
|
||||
/* $Id: helloServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib client: hello servlet example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import javax.servlet.*;
|
||||
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class helloServlet extends GenericServlet
|
||||
{
|
||||
public void service(ServletRequest request, ServletResponse response)
|
||||
{
|
||||
int font;
|
||||
pdflib p = null;
|
||||
byte[] buf;
|
||||
ServletOutputStream out;
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_info("Creator", "helloServlet.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Hello world (Java/Servlet)!");
|
||||
|
||||
p.begin_page(595, 842); /* start a new page */
|
||||
|
||||
font = p.load_font("Helvetica-Bold", "winansi", "");
|
||||
|
||||
p.setfont(font, 18);
|
||||
|
||||
p.set_text_pos(50, 700);
|
||||
p.show("Hello world!");
|
||||
p.continue_text("(says Java/Servlet)");
|
||||
p.end_page(); /* close page */
|
||||
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
out = response.getOutputStream();
|
||||
out.write(buf);
|
||||
out.close();
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in hello sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
80
src/libs/pdflib/bind/pdflib/java/servlet/imageServlet.java
Normal file
80
src/libs/pdflib/bind/pdflib/java/servlet/imageServlet.java
Normal file
@ -0,0 +1,80 @@
|
||||
/* $Id: imageServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib client: image example in JavaServlet
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import javax.servlet.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class imageServlet extends GenericServlet
|
||||
{
|
||||
public void service (ServletRequest request, ServletResponse response)
|
||||
{
|
||||
int image;
|
||||
float width, height;
|
||||
pdflib p = null;
|
||||
String imagefile = "nesrin.jpg";
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
int manual, page;
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
|
||||
try{
|
||||
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "imageServlet.java");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "image sample (JavaServlet)");
|
||||
|
||||
if (request.getParameter("image") != null){
|
||||
imagefile = request.getParameter("image") ;
|
||||
}
|
||||
|
||||
image = p.load_image("auto", imagefile, "");
|
||||
|
||||
if (image == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
|
||||
/* dummy page size, will be adjusted by PDF_fit_image() */
|
||||
p.begin_page(10, 10);
|
||||
p.fit_image(image, (float) 0.0, (float) 0.0, "adjustpage");
|
||||
p.close_image(image);
|
||||
p.end_page();
|
||||
|
||||
p.close();
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in hello sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
184
src/libs/pdflib/bind/pdflib/java/servlet/invoiceServlet.java
Normal file
184
src/libs/pdflib/bind/pdflib/java/servlet/invoiceServlet.java
Normal file
@ -0,0 +1,184 @@
|
||||
/* $Id: invoiceServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib client: invoice servlet example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import java.text.*; // DateFormat
|
||||
import java.util.*; // Date
|
||||
import javax.servlet.*;
|
||||
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class invoiceServlet extends GenericServlet
|
||||
{
|
||||
public void service(ServletRequest request, ServletResponse response)
|
||||
{
|
||||
|
||||
pdflib p = null ;
|
||||
int i, form, page, regularfont, boldfont;
|
||||
String infile = "stationery.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
final float col1 = 55;
|
||||
final float col2 = 100;
|
||||
final float col3 = 330;
|
||||
final float col4 = 430;
|
||||
final float col5 = 530;
|
||||
float fontsize = 12, leading, y;
|
||||
float sum, total;
|
||||
float pagewidth = 595, pageheight = 842;
|
||||
Date now = new Date();
|
||||
DateFormat fulldate = DateFormat.getDateInstance(DateFormat.LONG);
|
||||
byte[] buf;
|
||||
ServletOutputStream out;
|
||||
|
||||
String closingtext =
|
||||
"30 days warranty starting at the day of sale. " +
|
||||
"This warranty covers defects in workmanship only. " +
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the " +
|
||||
"product under the warranty. This warranty is not transferable. " +
|
||||
"No returns or exchanges will be accepted for wet products.";
|
||||
|
||||
String[][] data = {
|
||||
{ "Super Kite", "20", "2"},
|
||||
{ "Turbo Flyer", "40", "5"},
|
||||
{ "Giga Trash", "180", "1"},
|
||||
{ "Bare Bone Kit", "50", "3"},
|
||||
{ "Nitty Gritty", "20", "10"},
|
||||
{ "Pretty Dark Flyer", "75", "1"},
|
||||
{ "Free Gift", "0", "1"},
|
||||
};
|
||||
|
||||
String[] months = {
|
||||
"January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December"
|
||||
};
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "invoiceServlet.java");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title",
|
||||
"PDFlib invoice generation demo (Java/Servlet)");
|
||||
|
||||
form = p.open_pdi(infile, "", 0);
|
||||
if (form == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
page = p.open_pdi_page(form, 1, "");
|
||||
if (page == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
boldfont = p.load_font("Helvetica-Bold", "winansi", "");
|
||||
regularfont = p.load_font("Helvetica", "winansi", "");
|
||||
leading = fontsize + 2;
|
||||
|
||||
// Establish coordinates with the origin in the upper left corner.
|
||||
p.set_parameter("topdown", "true");
|
||||
|
||||
p.begin_page(pagewidth, pageheight); // A4 page
|
||||
|
||||
p.fit_pdi_page(page, 0, pageheight, "");
|
||||
p.close_pdi_page(page);
|
||||
|
||||
p.setfont(regularfont, fontsize);
|
||||
|
||||
// Print the address
|
||||
y = 170;
|
||||
p.set_value("leading", leading);
|
||||
|
||||
p.show_xy("John Q. Doe", col1, y);
|
||||
p.continue_text("255 Customer Lane");
|
||||
p.continue_text("Suite B");
|
||||
p.continue_text("12345 User Town");
|
||||
p.continue_text("Everland");
|
||||
|
||||
// Print the header and date
|
||||
|
||||
p.setfont(boldfont, fontsize);
|
||||
y = 300;
|
||||
p.show_xy("INVOICE", col1, y);
|
||||
|
||||
p.fit_textline(fulldate.format(now), col5, y, "position {100 0}");
|
||||
|
||||
// Print the invoice header line
|
||||
p.setfont(boldfont, fontsize);
|
||||
|
||||
// "position {0 0}" is left-aligned, "position {100 0}" right-aligned
|
||||
y = 370;
|
||||
p.fit_textline("ITEM", col1, y, "position {0 0}");
|
||||
p.fit_textline("DESCRIPTION", col2, y, "position {0 0}");
|
||||
p.fit_textline("QUANTITY", col3, y, "position {100 0}");
|
||||
p.fit_textline("PRICE", col4, y, "position {100 0}");
|
||||
p.fit_textline("AMOUNT", col5, y, "position {100 0}");
|
||||
|
||||
// Print the article list
|
||||
|
||||
p.setfont(regularfont, fontsize);
|
||||
y += 2*leading;
|
||||
total = 0;
|
||||
|
||||
for (i = 0; i < data.length; i++) {
|
||||
p.show_xy(Integer.toString(i+1), col1, y);
|
||||
p.show_xy(data[i][0], col2, y);
|
||||
p.fit_textline(data[i][2], col3, y, "position {100 0}");
|
||||
p.fit_textline(data[i][1], col4, y, "position {100 0}");
|
||||
sum = 0;
|
||||
|
||||
sum = Integer.parseInt(data[i][2]) * Integer.parseInt(data[i][1]);
|
||||
p.fit_textline(Float.toString(sum), col5, y, "position {100 0}");
|
||||
|
||||
y += leading;
|
||||
total += sum;
|
||||
}
|
||||
|
||||
y += leading;
|
||||
p.setfont(boldfont, fontsize);
|
||||
p.fit_textline(Float.toString(total), col5, y, "position {100 0}");
|
||||
|
||||
// Print the closing text
|
||||
|
||||
y += 5*leading;
|
||||
p.setfont(regularfont, fontsize);
|
||||
p.set_value("leading", leading);
|
||||
p.show_boxed(closingtext,
|
||||
col1, y + 4*leading, col5-col1, 4*leading, "justify", "");
|
||||
|
||||
p.end_page();
|
||||
p.close();
|
||||
p.close_pdi(form);
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
out = response.getOutputStream();
|
||||
out.write(buf);
|
||||
out.close();
|
||||
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in invoice sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
134
src/libs/pdflib/bind/pdflib/java/servlet/pdfclockServlet.java
Normal file
134
src/libs/pdflib/bind/pdflib/java/servlet/pdfclockServlet.java
Normal file
@ -0,0 +1,134 @@
|
||||
/* $Id: pdfclockServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib client: pdfclock example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import java.text.*; // SimpleDateFormat
|
||||
import java.util.*; // Date
|
||||
import javax.servlet.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class pdfclockServlet extends GenericServlet
|
||||
{
|
||||
public void service (ServletRequest request, ServletResponse response)
|
||||
{
|
||||
pdflib p = null;
|
||||
int tm_hour, tm_min, tm_sec, alpha;
|
||||
float RADIUS = 200.0f;
|
||||
float MARGIN = 20.0f;
|
||||
SimpleDateFormat format;
|
||||
Date now = new Date();
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
byte[] buf;
|
||||
ServletOutputStream out;
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_info("Creator", "pdfclockServlet.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "PDF clock (Java/servlet)");
|
||||
|
||||
p.begin_page( (int) (2 * (RADIUS + MARGIN)),
|
||||
(int) (2 * (RADIUS + MARGIN)));
|
||||
|
||||
p.translate(RADIUS + MARGIN, RADIUS + MARGIN);
|
||||
p.setcolor("fillstroke", "rgb", 0.0f, 0.0f, 1.0f, 0.0f);
|
||||
p.save();
|
||||
|
||||
// minute strokes
|
||||
p.setlinewidth(2.0f);
|
||||
for (alpha = 0; alpha < 360; alpha += 6)
|
||||
{
|
||||
p.rotate(6.0f);
|
||||
p.moveto(RADIUS, 0.0f);
|
||||
p.lineto(RADIUS-MARGIN/3, 0.0f);
|
||||
p.stroke();
|
||||
}
|
||||
|
||||
p.restore();
|
||||
p.save();
|
||||
|
||||
// 5 minute strokes
|
||||
p.setlinewidth(3.0f);
|
||||
for (alpha = 0; alpha < 360; alpha += 30)
|
||||
{
|
||||
p.rotate(30.0f);
|
||||
p.moveto(RADIUS, 0.0f);
|
||||
p.lineto(RADIUS-MARGIN, 0.0f);
|
||||
p.stroke();
|
||||
}
|
||||
|
||||
format = new SimpleDateFormat("hh");
|
||||
tm_hour= Integer.parseInt(format.format(now));
|
||||
format = new SimpleDateFormat("mm");
|
||||
tm_min = Integer.parseInt(format.format(now));
|
||||
format = new SimpleDateFormat("ss");
|
||||
tm_sec = Integer.parseInt(format.format(now));
|
||||
|
||||
// draw hour hand
|
||||
p.save();
|
||||
p.rotate((-((tm_min/60.0f) + tm_hour - 3.0f) * 30.0f));
|
||||
p.moveto(-RADIUS/10, -RADIUS/20);
|
||||
p.lineto(RADIUS/2, 0.0f);
|
||||
p.lineto(-RADIUS/10, RADIUS/20);
|
||||
p.closepath();
|
||||
p.fill();
|
||||
p.restore();
|
||||
|
||||
// draw minute hand
|
||||
p.save();
|
||||
p.rotate((-((tm_sec/60.0f) + tm_min - 15.0f) * 6.0f));
|
||||
p.moveto(-RADIUS/10, -RADIUS/20);
|
||||
p.lineto(RADIUS * 0.8f, 0.0f);
|
||||
p.lineto(-RADIUS/10, RADIUS/20);
|
||||
p.closepath();
|
||||
p.fill();
|
||||
p.restore();
|
||||
|
||||
// draw second hand
|
||||
p.setcolor("fillstroke", "rgb", 1.0f, 0.0f, 0.0f, 0.0f);
|
||||
p.setlinewidth(2);
|
||||
p.save();
|
||||
p.rotate(-((tm_sec - 15.0f) * 6.0f));
|
||||
p.moveto(-RADIUS/5, 0.0f);
|
||||
p.lineto(RADIUS, 0.0f);
|
||||
p.stroke();
|
||||
p.restore();
|
||||
|
||||
// draw little circle at center
|
||||
p.circle(0f, 0f, RADIUS/30);
|
||||
p.fill();
|
||||
|
||||
p.restore();
|
||||
p.end_page();
|
||||
p.close();
|
||||
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
out = response.getOutputStream();
|
||||
out.write(buf);
|
||||
out.close();
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in pdfclock sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
/* $Id: quickreferenceServlet.java,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
*
|
||||
* PDFlib/PDI client: mini imposition demo
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import javax.servlet.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class quickreferenceServlet extends GenericServlet
|
||||
{
|
||||
public void service (ServletRequest request, ServletResponse response)
|
||||
{
|
||||
int font, row = 0 , col = 0 , i;
|
||||
int manual, pages;
|
||||
final int maxrow=2, maxcol=2;
|
||||
int startpage = 1, endpage = 4;
|
||||
final float width = 500, height = 770;
|
||||
int pageno;
|
||||
String infile = "reference.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
byte[] buf;
|
||||
ServletOutputStream output;
|
||||
pdflib p = null;
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
// Generate a PDF in memory; insert a file name to create PDF on disk
|
||||
if (p.open_file("") == -1) {
|
||||
throw new Exception("Couldn't create PDF output.\n");
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "quickreferenceServlet.java");
|
||||
p.set_info("Author", "Rainer Ploeckl");
|
||||
p.set_info("Title", "imposition demo (Java/Servlet)");
|
||||
|
||||
manual = p.open_pdi(infile, "", 0);
|
||||
i = 0;
|
||||
|
||||
if (manual == -1){
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("topdown", "true");
|
||||
|
||||
for (pageno = startpage; pageno <= endpage; pageno++) {
|
||||
if (row == 0 && col == 0) {
|
||||
i++;
|
||||
p.begin_page(width, height);
|
||||
font = p.load_font("Helvetica-Bold", "winansi", "");
|
||||
p.setfont(font, 18);
|
||||
p.set_text_pos(24, 24);
|
||||
p.show("PDFlib Quick Reference");
|
||||
}
|
||||
|
||||
pages = p.open_pdi_page(manual, pageno, "");
|
||||
|
||||
if (pages == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.fit_pdi_page(manual, width/maxcol*col,
|
||||
(row + 1) * height/maxrow, "scale " + (float)1/maxrow);
|
||||
p.close_pdi_page(pages);
|
||||
|
||||
col++;
|
||||
if (col == maxcol) {
|
||||
col = 0;
|
||||
row++;
|
||||
}
|
||||
if (row == maxrow) {
|
||||
row = 0;
|
||||
p.end_page();
|
||||
}
|
||||
}
|
||||
|
||||
// finish the last partial page
|
||||
if (row != 0 || col != 0)
|
||||
p.end_page();
|
||||
|
||||
p.close();
|
||||
p.close_pdi(manual);
|
||||
buf = p.get_buffer();
|
||||
|
||||
response.setContentType("application/pdf");
|
||||
response.setContentLength(buf.length);
|
||||
|
||||
output = response.getOutputStream();
|
||||
output.write(buf);
|
||||
output.close();
|
||||
} catch (PDFlibException e) {
|
||||
System.err.print("PDFlib exception occurred in quickreference sample:\n");
|
||||
System.err.print("[" + e.get_errnum() + "] " + e.get_apiname() +
|
||||
": " + e.getMessage() + "\n");
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
} finally {
|
||||
if (p != null) {
|
||||
p.delete(); /* delete the PDFlib object */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
48
src/libs/pdflib/bind/pdflib/perl/Makefile
Normal file
48
src/libs/pdflib/bind/pdflib/perl/Makefile
Normal file
@ -0,0 +1,48 @@
|
||||
# Makefile for PDFlib's Perl binding
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
include $(top_builddir)/config/mkcommon.inc
|
||||
|
||||
INCLUDES = $(PDFLIBINC) $(PERLBOOLDEF) $(PERLINCLUDE)
|
||||
# special CFLAGS, as -ansi is not working here.
|
||||
CFLAGS = $(DEFS) $(DEFINES) $(INCLUDES)
|
||||
|
||||
PERLBIN = $(PERL) -I. -I.libs
|
||||
LANG_LIBDIR = $(PERLLIBDIR)
|
||||
BINDEXTERNALLIBS= $(PERLLINK)
|
||||
|
||||
LIBNAME = pdflib_pl$(LA)
|
||||
OBJ = pdflib_pl$(LO)
|
||||
SRC = pdflib_pl.c
|
||||
|
||||
include $(top_builddir)/config/mkbind.inc
|
||||
|
||||
test:: all
|
||||
-$(PERLBIN) hello.pl
|
||||
-$(PERLBIN) image.pl
|
||||
-$(PERLBIN) pdfclock.pl
|
||||
-$(PERLBIN) chartab.pl
|
||||
-$(PERLBIN) invoice.pl
|
||||
-$(PERLBIN) businesscard.pl
|
||||
-$(PERLBIN) quickreference.pl
|
||||
|
||||
smoke:: test
|
||||
-$(PERLBIN) smoketest.pl
|
||||
|
||||
install:: $(SWIG_LIB)
|
||||
$(LIBTOOL) --mode=install \
|
||||
$(INSTALL_DATA) $(SWIG_LIB) $(LANG_LIBDIR)
|
||||
$(INSTALL_DATA) pdflib_pl.pm $(LANG_LIBDIR)
|
||||
|
||||
uninstall::
|
||||
$(LIBTOOL) --mode=uninstall \
|
||||
$(RM) $(LANG_LIBDIR)/$(SWIG_LIB) $(LANG_LIBDIR)/pdflib_pl.pm
|
||||
|
||||
clean::
|
||||
$(RM) smoke_c_?.pdf
|
||||
$(RM) hello.pdf image.pdf pdfclock.pdf chartab.pdf invoice.pdf
|
||||
$(RM) businesscard.pdf quickreference.pdf
|
||||
|
||||
# Automatically generated dependencies
|
140
src/libs/pdflib/bind/pdflib/perl/Perl.dsp
Normal file
140
src/libs/pdflib/bind/pdflib/perl/Perl.dsp
Normal file
@ -0,0 +1,140 @@
|
||||
# Microsoft Developer Studio Project File - Name="Perl" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=Perl - Win32 perlAS56
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Perl.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Perl.mak" CFG="Perl - Win32 perlAS56"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Perl - Win32 perlAS56" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Perl - Win32 perlAS58" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Perl - Win32 perl5005" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Perl - Win32 perlAS56"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "perlAS56"
|
||||
# PROP BASE Intermediate_Dir "perlAS56"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "perlAS56"
|
||||
# PROP Intermediate_Dir "perlAS56"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "c:\programme\Perl\lib\CORE" /I "c:\programme\Perl\lib\CORE\win32" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_MT" /D "PDFLIB_STATIC" /FR /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "c:\programme\Perl\lib\CORE" /I "c:\programme\Perl56\lib\CORE" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_MT" /D "PDFLIB_STATIC" /FR /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib perl56.lib pdflib.lib /nologo /base:"0x55330000" /dll /pdb:none /machine:I386 /out:"perlAS56\pdflib_pl.dll" /libpath:"c:\programme\Perl\lib\CORE" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib perl56.lib pdflib.lib /nologo /base:"0x55330000" /dll /pdb:none /machine:I386 /out:"perlAS56\pdflib_pl.dll" /libpath:"c:\programme\Perl56\lib\CORE" /libpath:"c:\programme\Perl\lib\CORE" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "Perl - Win32 perlAS58"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "perlAS58"
|
||||
# PROP BASE Intermediate_Dir "perlAS58"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "perlAS58"
|
||||
# PROP Intermediate_Dir "perlAS58"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "c:\programme\Perl\lib\CORE" /I "c:\programme\Perl\lib\CORE\win32" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_MT" /D "PDFLIB_STATIC" /FR /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "c:\programme\Perl58\lib\CORE" /I "c:\programme\Perl58\lib\CORE\win32" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_MT" /D "PDFLIB_STATIC" /FR /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib perl56.lib pdflib.lib /nologo /base:"0x55330000" /dll /pdb:none /machine:I386 /out:"perlAS58\pdflib_pl.dll" /libpath:"c:\programme\Perl\lib\CORE" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib perl58.lib pdflib.lib /nologo /base:"0x55330000" /dll /pdb:none /machine:I386 /out:"perlAS58\pdflib_pl.dll" /libpath:"c:\programme\Perl58\lib\CORE" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ELSEIF "$(CFG)" == "Perl - Win32 perl5005"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "perl5005"
|
||||
# PROP BASE Intermediate_Dir "perl5005"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "perl5005"
|
||||
# PROP Intermediate_Dir "perl5005"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "c:\programme\Perl5.005\lib\CORE" /I "c:\programme\Perl5.005\lib\CORE\win32" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_MT" /D "PDFLIB_STATIC" /D "PERL_OBJECT" /FR /YX /FD /c /Tp
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "c:\programme\Perl5.005\lib\CORE" /I "c:\programme\Perl5.005\lib\CORE\win32" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_MT" /D "PDFLIB_STATIC" /D "PERL_OBJECT" /FR /YX /FD /c /Tp
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib perlcore.lib /nologo /base:"0x55330000" /dll /pdb:none /machine:I386 /out:"perl5005\pdflib_pl.dll" /libpath:"c:\programme\Perl5.005\lib\CORE" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT BASE LINK32 /debug
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pdflib.lib perlcore.lib /nologo /base:"0x55330000" /dll /pdb:none /machine:I386 /out:"perl5005\pdflib_pl.dll" /libpath:"c:\programme\Perl5.005\lib\CORE" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Perl - Win32 perlAS56"
|
||||
# Name "Perl - Win32 perlAS58"
|
||||
# Name "Perl - Win32 perl5005"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib_pl.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
82
src/libs/pdflib/bind/pdflib/perl/businesscard.pl
Normal file
82
src/libs/pdflib/bind/pdflib/perl/businesscard.pl
Normal file
@ -0,0 +1,82 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: businesscard.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: block processing example in C
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
$infile = "boilerplate.pdf";
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
#
|
||||
# Note that this directory must also contain the LuciduxSans font outline
|
||||
# and metrics files.
|
||||
#
|
||||
$searchpath = "../data";
|
||||
|
||||
%data = ( "name" => "Victor Kraxi",
|
||||
"business.title" => "Chief Paper Officer",
|
||||
"business.address.line1" => "17, Aviation Road",
|
||||
"business.address.city" => "Paperfield",
|
||||
"business.telephone.voice" => "phone +1 234 567-89",
|
||||
"business.telephone.fax" => "fax +1 234 567-98",
|
||||
"business.email" => "victor\@kraxi.com",
|
||||
"business.homepage" => "www.kraxi.com"
|
||||
);
|
||||
|
||||
# create a new PDFlib object
|
||||
$p = PDF_new();
|
||||
|
||||
eval {
|
||||
# open new PDF file
|
||||
if (PDF_open_file($p, "businesscard.pdf") == -1){
|
||||
printf ("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "businesscard.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "PDFlib block processing sample (Perl)");
|
||||
|
||||
$blockcontainer = PDF_open_pdi($p, $infile, "", 0);
|
||||
if ($blockcontainer == -1){
|
||||
printf ("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
$page = PDF_open_pdi_page($p, $blockcontainer, 1, "");
|
||||
if ($page == -1){
|
||||
printf ("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_begin_page($p, 20, 20); # dummy page size
|
||||
|
||||
# This will adjust the page size to the block container's size.
|
||||
PDF_fit_pdi_page($p, $page, 0, 0, "adjustpage");
|
||||
|
||||
# Fill all text blocks with dynamic data
|
||||
foreach $elem(keys %data){
|
||||
if (PDF_fill_textblock($p, $page, $elem, $data{$elem},
|
||||
"embedding encoding=winansi") == -1) {
|
||||
printf ("Warning: %s\n", PDF_get_errmsg($p));
|
||||
}
|
||||
}
|
||||
|
||||
PDF_end_page($p); # close page
|
||||
PDF_close_pdi_page($p, $page);
|
||||
|
||||
PDF_close($p); # close PDF document
|
||||
PDF_close_pdi($p, $blockcontainer);
|
||||
};
|
||||
if ($@) {
|
||||
printf("businesscard: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
PDF_delete($p); # delete the PDFlib object
|
107
src/libs/pdflib/bind/pdflib/perl/chartab.pl
Normal file
107
src/libs/pdflib/bind/pdflib/perl/chartab.pl
Normal file
@ -0,0 +1,107 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: chartab.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: hello example in Perl
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
# change these as required
|
||||
$fontname = "LuciduxSans-Oblique";
|
||||
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
$searchpath = "../data";
|
||||
|
||||
# list of encodings to use
|
||||
@encodings = ( "iso8859-1", "iso8859-2", "iso8859-15" );
|
||||
|
||||
# whether or not to embed the font
|
||||
$embed = 1;
|
||||
|
||||
use constant "FONTSIZE" => 16;
|
||||
use constant "TOP" => 700;
|
||||
use constant "LEFT" => 50;
|
||||
use constant "YINCR" => 2*FONTSIZE;
|
||||
use constant "XINCR" => 2*FONTSIZE;
|
||||
|
||||
# create a new PDFlib object
|
||||
$p = PDF_new();
|
||||
|
||||
eval {
|
||||
# open new PDF file
|
||||
if (PDF_open_file($p, "chartab.pdf") == 0) {
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "openaction", "fitpage");
|
||||
PDF_set_parameter($p, "fontwarning", "true");
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "chartab.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "Character table (Perl)");
|
||||
|
||||
# loop over all encodings
|
||||
for ($page = 0; $page <= $#encodings; $page++)
|
||||
{
|
||||
PDF_begin_page($p, 595, 842); # start a new page
|
||||
|
||||
# print the heading and generate the bookmark
|
||||
$font = PDF_load_font($p, "Helvetica", "winansi", "");
|
||||
PDF_setfont($p, $font, FONTSIZE);
|
||||
$buf = sprintf("%s (%s) %sembedded",
|
||||
$fontname, $encodings[$page], $embed ? "" : "not ");
|
||||
|
||||
PDF_show_xy($p, $buf, LEFT - XINCR, TOP + 3 * YINCR);
|
||||
PDF_add_bookmark($p, $buf, 0, 0);
|
||||
|
||||
# print the row and column captions
|
||||
PDF_setfont($p, $font, 2 * FONTSIZE/3);
|
||||
|
||||
for ($row = 0; $row < 16; $row++)
|
||||
{
|
||||
$buf = sprintf("x%X", $row);
|
||||
PDF_show_xy($p, $buf, LEFT + $row*XINCR, TOP + YINCR);
|
||||
|
||||
$buf = sprintf("%Xx", $row);
|
||||
PDF_show_xy($p, $buf, LEFT - XINCR, TOP - $row * YINCR);
|
||||
}
|
||||
|
||||
# print the character table
|
||||
$font = PDF_load_font($p, $fontname, $encodings[$page],
|
||||
$embed ? "embedding": "");
|
||||
PDF_setfont($p, $font, FONTSIZE);
|
||||
|
||||
$y = TOP;
|
||||
$x = LEFT;
|
||||
|
||||
for ($row = 0; $row < 16; $row++)
|
||||
{
|
||||
for ($col = 0; $col < 16; $col++) {
|
||||
$buf = sprintf("%c", 16*$row + $col);
|
||||
PDF_show_xy($p, $buf, $x, $y);
|
||||
$x += XINCR;
|
||||
}
|
||||
$x = LEFT;
|
||||
$y -= YINCR;
|
||||
}
|
||||
|
||||
PDF_end_page($p); # close page
|
||||
}
|
||||
|
||||
|
||||
PDF_close($p); # close PDF document
|
||||
|
||||
};
|
||||
|
||||
if ($@) {
|
||||
printf("chartab: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_delete($p); # delete the PDFlib object
|
45
src/libs/pdflib/bind/pdflib/perl/hello.pl
Normal file
45
src/libs/pdflib/bind/pdflib/perl/hello.pl
Normal file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: hello.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: hello example in Perl
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
# create a new PDFlib object
|
||||
$p = PDF_new();
|
||||
|
||||
eval {
|
||||
# open new PDF file
|
||||
if (PDF_open_file($p, "hello.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "hello.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "Hello world (Perl)!");
|
||||
|
||||
PDF_begin_page($p, 595, 842); # start a new page
|
||||
|
||||
$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
|
||||
|
||||
PDF_setfont($p, $font, 24.0);
|
||||
PDF_set_text_pos($p, 50, 700);
|
||||
PDF_show($p, "Hello world!");
|
||||
PDF_continue_text($p, "(says Perl)");
|
||||
PDF_end_page($p); # close page
|
||||
|
||||
PDF_close($p); # close PDF document
|
||||
};
|
||||
|
||||
if ($@) {
|
||||
printf("hello: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_delete($p); # delete the PDFlib object
|
48
src/libs/pdflib/bind/pdflib/perl/image.pl
Normal file
48
src/libs/pdflib/bind/pdflib/perl/image.pl
Normal file
@ -0,0 +1,48 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: image.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: image example in Perl
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
$searchpath = "../data";
|
||||
$imagefile = "nesrin.jpg";
|
||||
|
||||
$p = PDF_new();
|
||||
|
||||
eval {
|
||||
if (PDF_open_file($p, "image.pdf") == -1){
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "image.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "image sample (Perl)");
|
||||
|
||||
|
||||
$image = PDF_load_image($p, "auto", $imagefile, "");
|
||||
die "Couldn't open image '$imagefile'" if ($image == -1);
|
||||
|
||||
# dummy page size, will be adjusted by PDF_fit_image()
|
||||
PDF_begin_page($p, 10, 10);
|
||||
PDF_fit_image($p, $image, 0, 0, "adjustpage");
|
||||
PDF_close_image($p, $image);
|
||||
PDF_end_page($p); # close page
|
||||
|
||||
PDF_close($p); # close PDF document
|
||||
};
|
||||
if ($@) {
|
||||
printf("image: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_delete($p); # delete the PDFlib object
|
156
src/libs/pdflib/bind/pdflib/perl/invoice.pl
Normal file
156
src/libs/pdflib/bind/pdflib/perl/invoice.pl
Normal file
@ -0,0 +1,156 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: invoice.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: invoice generation demo
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
$col1 = 55;
|
||||
$col2 = 100;
|
||||
$col3 = 330;
|
||||
$col4 = 430;
|
||||
$col5 = 530;
|
||||
$fontsize = 12;
|
||||
$pagewidth = 595;
|
||||
$pageheight = 842;
|
||||
$fontsize = 12;
|
||||
$infile = "stationery.pdf";
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
$searchpath = "../data";
|
||||
$closingtext =
|
||||
"30 days warranty starting at the day of sale. " .
|
||||
"This warranty covers defects in workmanship only. " .
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the " .
|
||||
"product under the warranty. This warranty is not transferable. " .
|
||||
"No returns or exchanges will be accepted for wet products.";
|
||||
|
||||
@data = ( {name=>"Super Kite", price=>20, quantity=>2},
|
||||
{name=>"Turbo Flyer", price=>40, quantity=>5},
|
||||
{name=>"Giga Trasch", price=>180, quantity=>1},
|
||||
{name=>"Bare Bone Kit", price=>50, quantity=>3},
|
||||
{name=>"Nitty Gritty", price=>20, quantity=>10},
|
||||
{name=>"Pretty Dark Flyer", price=>75, quantity=>1},
|
||||
{name=>"Free Gift", price=>0, quantity=>1}
|
||||
);
|
||||
|
||||
@months = ( "January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December");
|
||||
|
||||
# create a new PDFlib object
|
||||
$p = PDF_new();
|
||||
|
||||
eval {
|
||||
# open new PDF file
|
||||
if (PDF_open_file($p, "invoice.pdf") == -1){
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "invoice.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "PDFlib invoice generation demo (Perl)");
|
||||
|
||||
$form = PDF_open_pdi($p, $infile, "", 0);
|
||||
if ($form == -1){
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
$page = PDF_open_pdi_page($p, $form, 1, "");
|
||||
if ($page == -1){
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$boldfont = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
|
||||
$regularfont = PDF_load_font($p, "Helvetica", "winansi", "");
|
||||
$leading = $fontsize + 2;
|
||||
|
||||
# Establish coordinates with the origin in the upper left corner.
|
||||
PDF_set_parameter($p, "topdown", "true");
|
||||
|
||||
PDF_begin_page($p, $pagewidth, $pageheight); # A4 page
|
||||
|
||||
PDF_fit_pdi_page($p, $page, 0, $pageheight, "");
|
||||
PDF_close_pdi_page($p, $page);
|
||||
|
||||
PDF_setfont($p, $regularfont, $fontsize);
|
||||
|
||||
# print the address
|
||||
$y = 170;
|
||||
PDF_set_value($p, "leading", $leading);
|
||||
|
||||
PDF_show_xy($p, "John Q. Doe", $col1, $y);
|
||||
PDF_continue_text($p, "255 Customer Lane");
|
||||
PDF_continue_text($p, "Suite B");
|
||||
PDF_continue_text($p, "12345 User Town");
|
||||
PDF_continue_text($p, "Everland");
|
||||
|
||||
# print the header and date
|
||||
|
||||
PDF_setfont($p, $boldfont, $fontsize);
|
||||
$y = 300;
|
||||
PDF_show_xy($p, "INVOICE", $col1, $y);
|
||||
|
||||
$buf = sprintf("%s %d, %d", $months[(localtime)[4]], (localtime)[3],
|
||||
(localtime)[5]+1900);
|
||||
PDF_fit_textline($p, $buf, $col5, $y, "position {100 0}");
|
||||
|
||||
|
||||
# print the invoice header line
|
||||
PDF_setfont($p, $boldfont, $fontsize);
|
||||
|
||||
# "position {0 0}" is left-aligned, "position {100 0}" right-aligned
|
||||
$y = 370;
|
||||
PDF_fit_textline($p, "ITEM", $col1, $y, "position {0 0}");
|
||||
PDF_fit_textline($p, "DESCRIPTION", $col2, $y, "position {0 0}");
|
||||
PDF_fit_textline($p, "QUANTITY", $col3, $y, "position {100 0}");
|
||||
PDF_fit_textline($p, "PRICE", $col4, $y, "position {100 0}");
|
||||
PDF_fit_textline($p, "AMOUNT", $col5, $y, "position {100 0}");
|
||||
|
||||
PDF_setfont($p, $regularfont, $fontsize);
|
||||
$y += 2*$leading;
|
||||
$total = 0;
|
||||
for ($i = 0; $i <= $#data; $i++){
|
||||
PDF_show_xy($p, $i+1, $col1, $y);
|
||||
|
||||
PDF_show_xy($p, $data[$i]{name}, $col2, $y);
|
||||
PDF_fit_textline($p, $data[$i]{quantity}, $col3, $y, "position {100 0}");
|
||||
PDF_fit_textline($p, $data[$i]{price}, $col4, $y, "position {100 0}");
|
||||
$sum = $data[$i]{price}*$data[$i]{quantity};
|
||||
$buf = sprintf("%.2f", $sum);
|
||||
PDF_fit_textline($p, $buf, $col5, $y, "position {100 0}");
|
||||
$y += $leading;
|
||||
$total +=$sum;
|
||||
}
|
||||
|
||||
$y += $leading;
|
||||
PDF_setfont($p, $boldfont, $fontsize);
|
||||
PDF_fit_textline($p,sprintf("%.2f",$total), $col5, $y, "position {100 0}");
|
||||
|
||||
# Print the closing text
|
||||
|
||||
$y +=5*$leading;
|
||||
PDF_setfont($p, $regularfont, $fontsize);
|
||||
PDF_set_value($p, "leading", $leading);
|
||||
PDF_show_boxed($p, $closingtext,
|
||||
$col1, $y + 4*$leading, $col5-$col1, 4*$leading, "justify", "");
|
||||
|
||||
PDF_end_page($p);
|
||||
PDF_close($p);
|
||||
PDF_close_pdi($p, $form);
|
||||
};
|
||||
if ($@) {
|
||||
printf("invoice: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_delete($p);
|
103
src/libs/pdflib/bind/pdflib/perl/pdfclock.cgi.pl
Normal file
103
src/libs/pdflib/bind/pdflib/perl/pdfclock.cgi.pl
Normal file
@ -0,0 +1,103 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: pdfclock.cgi.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: pdfclock CGI example in Perl
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
$RADIUS = 200.0;
|
||||
$MARGIN = 20.0;
|
||||
|
||||
$p = PDF_new();
|
||||
|
||||
PDF_open_file($p, "");
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "pdfclock.cgi.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "PDF clock (Perl/CGI)");
|
||||
|
||||
PDF_begin_page($p, 2 * ($RADIUS + $MARGIN), 2 * ($RADIUS + $MARGIN));
|
||||
|
||||
PDF_translate($p, $RADIUS + $MARGIN, $RADIUS + $MARGIN);
|
||||
PDF_setcolor($p, "fillstroke", "rgb", 0.0, 0.0, 1.0, 0.0);
|
||||
PDF_save($p);
|
||||
|
||||
# minute strokes
|
||||
PDF_setlinewidth($p, 2.0);
|
||||
for ($alpha = 0; $alpha < 360; $alpha += 6)
|
||||
{
|
||||
PDF_rotate($p, 6.0);
|
||||
PDF_moveto($p, $RADIUS, 0.0);
|
||||
PDF_lineto($p, $RADIUS-$MARGIN/3, 0.0);
|
||||
PDF_stroke($p);
|
||||
}
|
||||
|
||||
PDF_restore($p);
|
||||
PDF_save($p);
|
||||
|
||||
# 5 minute strokes
|
||||
PDF_setlinewidth($p, 3.0);
|
||||
for ($alpha = 0; $alpha < 360; $alpha += 30)
|
||||
{
|
||||
PDF_rotate($p, 30.0);
|
||||
PDF_moveto($p, $RADIUS, 0.0);
|
||||
PDF_lineto($p, $RADIUS-$MARGIN, 0.0);
|
||||
PDF_stroke($p);
|
||||
}
|
||||
|
||||
($tm_sec,$tm_min,$tm_hour) = localtime(time);
|
||||
|
||||
# draw hour hand
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, (-(($tm_min/60.0) + $tm_hour - 3.0) * 30.0));
|
||||
PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
|
||||
PDF_lineto($p, $RADIUS/2, 0.0);
|
||||
PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
|
||||
PDF_closepath($p);
|
||||
PDF_fill($p);
|
||||
PDF_restore($p);
|
||||
|
||||
# draw minute hand
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, (-(($tm_sec/60.0) + $tm_min - 15.0) * 6.0));
|
||||
PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
|
||||
PDF_lineto($p, $RADIUS * 0.8, 0.0);
|
||||
PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
|
||||
PDF_closepath($p);
|
||||
PDF_fill($p);
|
||||
PDF_restore($p);
|
||||
|
||||
# draw second hand
|
||||
PDF_setcolor($p, "fillstroke", "rgb", 1.0, 0.0, 0.0, 0.0);
|
||||
PDF_setlinewidth($p, 2);
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, -(($tm_sec - 15.0) * 6.0));
|
||||
PDF_moveto($p, -$RADIUS/5, 0.0);
|
||||
PDF_lineto($p, $RADIUS, 0.0);
|
||||
PDF_stroke($p);
|
||||
PDF_restore($p);
|
||||
|
||||
# draw little circle at center
|
||||
PDF_circle($p, 0, 0, $RADIUS/30);
|
||||
PDF_fill($p);
|
||||
|
||||
PDF_restore($p);
|
||||
PDF_end_page($p);
|
||||
|
||||
PDF_close($p);
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
|
||||
# the following is required on Windows systems
|
||||
binmode(STDOUT);
|
||||
|
||||
print "Content-Type: application/pdf\n";
|
||||
print "Content-Length: " . length($buf) . "\n";
|
||||
print "Content-Disposition: inline; filename=" . "pdfclock.cgi.pl.pdf" . "\n\n";
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p);
|
103
src/libs/pdflib/bind/pdflib/perl/pdfclock.pl
Normal file
103
src/libs/pdflib/bind/pdflib/perl/pdfclock.pl
Normal file
@ -0,0 +1,103 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: pdfclock.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib client: pdfclock example in Perl
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
$RADIUS = 200.0;
|
||||
$MARGIN = 20.0;
|
||||
|
||||
$p = PDF_new();
|
||||
eval{
|
||||
if (PDF_open_file($p, "pdfclock.pdf") == -1){
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "pdfclock.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "PDF clock (Perl)");
|
||||
|
||||
PDF_begin_page($p, 2 * ($RADIUS + $MARGIN), 2 * ($RADIUS + $MARGIN));
|
||||
|
||||
PDF_translate($p, $RADIUS + $MARGIN, $RADIUS + $MARGIN);
|
||||
PDF_setcolor($p, "fillstroke", "rgb", 0.0, 0.0, 1.0, 0.0);
|
||||
PDF_save($p);
|
||||
|
||||
# minute strokes
|
||||
PDF_setlinewidth($p, 2.0);
|
||||
for ($alpha = 0; $alpha < 360; $alpha += 6)
|
||||
{
|
||||
PDF_rotate($p, 6.0);
|
||||
PDF_moveto($p, $RADIUS, 0.0);
|
||||
PDF_lineto($p, $RADIUS-$MARGIN/3, 0.0);
|
||||
PDF_stroke($p);
|
||||
}
|
||||
|
||||
PDF_restore($p);
|
||||
PDF_save($p);
|
||||
|
||||
# 5 minute strokes
|
||||
PDF_setlinewidth($p, 3.0);
|
||||
for ($alpha = 0; $alpha < 360; $alpha += 30)
|
||||
{
|
||||
PDF_rotate($p, 30.0);
|
||||
PDF_moveto($p, $RADIUS, 0.0);
|
||||
PDF_lineto($p, $RADIUS-$MARGIN, 0.0);
|
||||
PDF_stroke($p);
|
||||
}
|
||||
|
||||
($tm_sec,$tm_min,$tm_hour) = localtime(time);
|
||||
|
||||
# draw hour hand
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, (-(($tm_min/60.0) + $tm_hour - 3.0) * 30.0));
|
||||
PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
|
||||
PDF_lineto($p, $RADIUS/2, 0.0);
|
||||
PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
|
||||
PDF_closepath($p);
|
||||
PDF_fill($p);
|
||||
PDF_restore($p);
|
||||
|
||||
# draw minute hand
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, (-(($tm_sec/60.0) + $tm_min - 15.0) * 6.0));
|
||||
PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
|
||||
PDF_lineto($p, $RADIUS * 0.8, 0.0);
|
||||
PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
|
||||
PDF_closepath($p);
|
||||
PDF_fill($p);
|
||||
PDF_restore($p);
|
||||
|
||||
# draw second hand
|
||||
PDF_setcolor($p, "fillstroke", "rgb", 1.0, 0.0, 0.0, 0.0);
|
||||
PDF_setlinewidth($p, 2);
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, -(($tm_sec - 15.0) * 6.0));
|
||||
PDF_moveto($p, -$RADIUS/5, 0.0);
|
||||
PDF_lineto($p, $RADIUS, 0.0);
|
||||
PDF_stroke($p);
|
||||
PDF_restore($p);
|
||||
|
||||
# draw little circle at center
|
||||
PDF_circle($p, 0, 0, $RADIUS/30);
|
||||
PDF_fill($p);
|
||||
|
||||
PDF_restore($p);
|
||||
PDF_end_page($p);
|
||||
|
||||
PDF_close($p);
|
||||
|
||||
};
|
||||
if ($@) {
|
||||
printf("pdfclock: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_delete($p); # delete the PDFlib object
|
3614
src/libs/pdflib/bind/pdflib/perl/pdflib_pl.c
Normal file
3614
src/libs/pdflib/bind/pdflib/perl/pdflib_pl.c
Normal file
File diff suppressed because it is too large
Load Diff
174
src/libs/pdflib/bind/pdflib/perl/pdflib_pl.pm
Normal file
174
src/libs/pdflib/bind/pdflib/perl/pdflib_pl.pm
Normal file
@ -0,0 +1,174 @@
|
||||
# $Id: pdflib_pl.pm,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
package pdflib_pl;
|
||||
require Exporter;
|
||||
require DynaLoader;
|
||||
$VERSION=5.0;
|
||||
@ISA = qw(Exporter DynaLoader);
|
||||
package pdflibc;
|
||||
bootstrap pdflib_pl;
|
||||
var_pdflib_init();
|
||||
@EXPORT = qw( );
|
||||
|
||||
# ---------- BASE METHODS -------------
|
||||
|
||||
package pdflib_pl;
|
||||
|
||||
sub TIEHASH {
|
||||
my ($classname,$obj) = @_;
|
||||
return bless $obj, $classname;
|
||||
}
|
||||
|
||||
sub CLEAR { }
|
||||
|
||||
sub this {
|
||||
my $ptr = shift;
|
||||
return tied(%$ptr);
|
||||
}
|
||||
|
||||
|
||||
# ------- FUNCTION WRAPPERS --------
|
||||
|
||||
package pdflib_pl;
|
||||
|
||||
# p_annots.c
|
||||
*PDF_add_launchlink = *pdflibc::PDF_add_launchlink;
|
||||
*PDF_add_locallink = *pdflibc::PDF_add_locallink;
|
||||
*PDF_add_note = *pdflibc::PDF_add_note;
|
||||
*PDF_add_pdflink = *pdflibc::PDF_add_pdflink;
|
||||
*PDF_add_weblink = *pdflibc::PDF_add_weblink;
|
||||
*PDF_attach_file = *pdflibc::PDF_attach_file;
|
||||
*PDF_set_border_color = *pdflibc::PDF_set_border_color;
|
||||
*PDF_set_border_dash = *pdflibc::PDF_set_border_dash;
|
||||
*PDF_set_border_style = *pdflibc::PDF_set_border_style;
|
||||
# p_basic.c
|
||||
*PDF_begin_page = *pdflibc::PDF_begin_page;
|
||||
*PDF_close = *pdflibc::PDF_close;
|
||||
*PDF_delete = *pdflibc::PDF_delete;
|
||||
*PDF_end_page = *pdflibc::PDF_end_page;
|
||||
*PDF_get_apiname = *pdflibc::PDF_get_apiname;
|
||||
*PDF_get_buffer = *pdflibc::PDF_get_buffer;
|
||||
*PDF_get_errmsg = *pdflibc::PDF_get_errmsg;
|
||||
*PDF_get_errnum = *pdflibc::PDF_get_errnum;
|
||||
*PDF_new = *pdflibc::PDF_new;
|
||||
*PDF_open_file = *pdflibc::PDF_open_file;
|
||||
# p_block.c
|
||||
*PDF_fill_imageblock = *pdflibc::PDF_fill_imageblock;
|
||||
*PDF_fill_pdfblock = *pdflibc::PDF_fill_pdfblock;
|
||||
*PDF_fill_textblock = *pdflibc::PDF_fill_textblock;
|
||||
# p_color.c
|
||||
*PDF_makespotcolor = *pdflibc::PDF_makespotcolor;
|
||||
*PDF_setcolor = *pdflibc::PDF_setcolor;
|
||||
*PDF_setgray = *pdflibc::PDF_setgray;
|
||||
*PDF_setgray_fill = *pdflibc::PDF_setgray_fill;
|
||||
*PDF_setgray_stroke = *pdflibc::PDF_setgray_stroke;
|
||||
*PDF_setrgbcolor = *pdflibc::PDF_setrgbcolor;
|
||||
*PDF_setrgbcolor_fill = *pdflibc::PDF_setrgbcolor_fill;
|
||||
*PDF_setrgbcolor_stroke = *pdflibc::PDF_setrgbcolor_stroke;
|
||||
# p_draw.c
|
||||
*PDF_arc = *pdflibc::PDF_arc;
|
||||
*PDF_arcn = *pdflibc::PDF_arcn;
|
||||
*PDF_circle = *pdflibc::PDF_circle;
|
||||
*PDF_clip = *pdflibc::PDF_clip;
|
||||
*PDF_closepath = *pdflibc::PDF_closepath;
|
||||
*PDF_closepath_fill_stroke = *pdflibc::PDF_closepath_fill_stroke;
|
||||
*PDF_closepath_stroke = *pdflibc::PDF_closepath_stroke;
|
||||
*PDF_curveto = *pdflibc::PDF_curveto;
|
||||
*PDF_endpath = *pdflibc::PDF_endpath;
|
||||
*PDF_fill = *pdflibc::PDF_fill;
|
||||
*PDF_fill_stroke = *pdflibc::PDF_fill_stroke;
|
||||
*PDF_lineto = *pdflibc::PDF_lineto;
|
||||
*PDF_moveto = *pdflibc::PDF_moveto;
|
||||
*PDF_rect = *pdflibc::PDF_rect;
|
||||
*PDF_stroke = *pdflibc::PDF_stroke;
|
||||
# p_encoding.c
|
||||
*PDF_encoding_set_char = *pdflibc::PDF_encoding_set_char;
|
||||
# p_font.c
|
||||
*PDF_findfont = *pdflibc::PDF_findfont;
|
||||
*PDF_load_font = *pdflibc::PDF_load_font;
|
||||
*PDF_setfont = *pdflibc::PDF_setfont;
|
||||
# p_gstate.c
|
||||
*PDF_concat = *pdflibc::PDF_concat;
|
||||
*PDF_initgraphics = *pdflibc::PDF_initgraphics;
|
||||
*PDF_restore = *pdflibc::PDF_restore;
|
||||
*PDF_rotate = *pdflibc::PDF_rotate;
|
||||
*PDF_save = *pdflibc::PDF_save;
|
||||
*PDF_scale = *pdflibc::PDF_scale;
|
||||
*PDF_setdash = *pdflibc::PDF_setdash;
|
||||
*PDF_setdashpattern = *pdflibc::PDF_setdashpattern;
|
||||
*PDF_setflat = *pdflibc::PDF_setflat;
|
||||
*PDF_setlinecap = *pdflibc::PDF_setlinecap;
|
||||
*PDF_setlinejoin = *pdflibc::PDF_setlinejoin;
|
||||
*PDF_setlinewidth = *pdflibc::PDF_setlinewidth;
|
||||
*PDF_setmatrix = *pdflibc::PDF_setmatrix;
|
||||
*PDF_setmiterlimit = *pdflibc::PDF_setmiterlimit;
|
||||
*PDF_setpolydash = *pdflibc::PDF_setpolydash;
|
||||
*PDF_skew = *pdflibc::PDF_skew;
|
||||
*PDF_translate = *pdflibc::PDF_translate;
|
||||
# p_hyper.c
|
||||
*PDF_add_bookmark = *pdflibc::PDF_add_bookmark;
|
||||
*PDF_add_nameddest = *pdflibc::PDF_add_nameddest;
|
||||
*PDF_set_info = *pdflibc::PDF_set_info;
|
||||
# p_icc.c
|
||||
*PDF_load_iccprofile = *pdflibc::PDF_load_iccprofile;
|
||||
# p_image.c
|
||||
*PDF_add_thumbnail = *pdflibc::PDF_add_thumbnail;
|
||||
*PDF_close_image = *pdflibc::PDF_close_image;
|
||||
*PDF_fit_image = *pdflibc::PDF_fit_image;
|
||||
*PDF_load_image = *pdflibc::PDF_load_image;
|
||||
*PDF_open_CCITT = *pdflibc::PDF_open_CCITT;
|
||||
*PDF_open_image = *pdflibc::PDF_open_image;
|
||||
*PDF_open_image_file = *pdflibc::PDF_open_image_file;
|
||||
*PDF_place_image = *pdflibc::PDF_place_image;
|
||||
# p_parmas.c
|
||||
*PDF_get_parameter = *pdflibc::PDF_get_parameter;
|
||||
*PDF_get_value = *pdflibc::PDF_get_value;
|
||||
*PDF_set_parameter = *pdflibc::PDF_set_parameter;
|
||||
*PDF_set_value = *pdflibc::PDF_set_value;
|
||||
# p_pattern.c
|
||||
*PDF_begin_pattern = *pdflibc::PDF_begin_pattern;
|
||||
*PDF_end_pattern = *pdflibc::PDF_end_pattern;
|
||||
# p_pdi.c
|
||||
*PDF_close_pdi = *pdflibc::PDF_close_pdi;
|
||||
*PDF_close_pdi_page = *pdflibc::PDF_close_pdi_page;
|
||||
*PDF_fit_pdi_page = *pdflibc::PDF_fit_pdi_page;
|
||||
*PDF_get_pdi_parameter = *pdflibc::PDF_get_pdi_parameter;
|
||||
*PDF_get_pdi_value = *pdflibc::PDF_get_pdi_value;
|
||||
*PDF_open_pdi = *pdflibc::PDF_open_pdi;
|
||||
*PDF_open_pdi_page = *pdflibc::PDF_open_pdi_page;
|
||||
*PDF_place_pdi_page = *pdflibc::PDF_place_pdi_page;
|
||||
*PDF_process_pdi = *pdflibc::PDF_process_pdi;
|
||||
# p_resource.c
|
||||
*PDF_create_pvf = *pdflibc::PDF_create_pvf;
|
||||
*PDF_delete_pvf = *pdflibc::PDF_delete_pvf;
|
||||
# p_shading.c
|
||||
*PDF_shading = *pdflibc::PDF_shading;
|
||||
*PDF_shading_pattern = *pdflibc::PDF_shading_pattern;
|
||||
*PDF_shfill = *pdflibc::PDF_shfill;
|
||||
# p_template.c
|
||||
*PDF_begin_template = *pdflibc::PDF_begin_template;
|
||||
*PDF_end_template = *pdflibc::PDF_end_template;
|
||||
# p_text.c
|
||||
*PDF_continue_text = *pdflibc::PDF_continue_text;
|
||||
*PDF_fit_textline = *pdflibc::PDF_fit_textline;
|
||||
*PDF_set_text_pos = *pdflibc::PDF_set_text_pos;
|
||||
*PDF_show = *pdflibc::PDF_show;
|
||||
*PDF_show_boxed = *pdflibc::PDF_show_boxed;
|
||||
*PDF_show_xy = *pdflibc::PDF_show_xy;
|
||||
*PDF_stringwidth = *pdflibc::PDF_stringwidth;
|
||||
# p_type3.c
|
||||
*PDF_begin_font = *pdflibc::PDF_begin_font;
|
||||
*PDF_begin_glyph = *pdflibc::PDF_begin_glyph;
|
||||
*PDF_end_font = *pdflibc::PDF_end_font;
|
||||
*PDF_end_glyph = *pdflibc::PDF_end_glyph;
|
||||
# p_xgstate.c
|
||||
*PDF_create_gstate = *pdflibc::PDF_create_gstate;
|
||||
*PDF_set_gstate = *pdflibc::PDF_set_gstate;
|
||||
|
||||
|
||||
@EXPORT = qw( PDF_add_launchlink PDF_add_locallink PDF_add_note PDF_add_pdflink PDF_add_weblink PDF_attach_file PDF_set_border_color PDF_set_border_dash PDF_set_border_style PDF_begin_page PDF_close PDF_delete PDF_end_page PDF_get_apiname PDF_get_buffer PDF_get_errmsg PDF_get_errnum PDF_new PDF_open_file PDF_fill_imageblock PDF_fill_pdfblock PDF_fill_textblock PDF_makespotcolor PDF_setcolor PDF_setgray PDF_setgray_fill PDF_setgray_stroke PDF_setrgbcolor PDF_setrgbcolor_fill PDF_setrgbcolor_stroke PDF_arc PDF_arcn PDF_circle PDF_clip PDF_closepath PDF_closepath_fill_stroke PDF_closepath_stroke PDF_curveto PDF_endpath PDF_fill PDF_fill_stroke PDF_lineto PDF_moveto PDF_rect PDF_stroke PDF_encoding_set_char PDF_findfont PDF_load_font PDF_setfont PDF_concat PDF_initgraphics PDF_restore PDF_rotate PDF_save PDF_scale PDF_setdash PDF_setdashpattern PDF_setflat PDF_setlinecap PDF_setlinejoin PDF_setlinewidth PDF_setmatrix PDF_setmiterlimit PDF_setpolydash PDF_skew PDF_translate PDF_add_bookmark PDF_add_nameddest PDF_set_info PDF_load_iccprofile PDF_add_thumbnail PDF_close_image PDF_fit_image PDF_load_image PDF_open_CCITT PDF_open_image PDF_open_image_file PDF_place_image PDF_get_parameter PDF_get_value PDF_set_parameter PDF_set_value PDF_begin_pattern PDF_end_pattern PDF_close_pdi PDF_close_pdi_page PDF_fit_pdi_page PDF_get_pdi_parameter PDF_get_pdi_value PDF_open_pdi PDF_open_pdi_page PDF_place_pdi_page PDF_process_pdi PDF_create_pvf PDF_delete_pvf PDF_shading PDF_shading_pattern PDF_shfill PDF_begin_template PDF_end_template PDF_continue_text PDF_fit_textline PDF_set_text_pos PDF_show PDF_show_boxed PDF_show_xy PDF_stringwidth PDF_begin_font PDF_begin_glyph PDF_end_font PDF_end_glyph PDF_create_gstate PDF_set_gstate );
|
||||
|
||||
# ------- VARIABLE STUBS --------
|
||||
|
||||
package pdflib_pl;
|
||||
|
||||
1;
|
92
src/libs/pdflib/bind/pdflib/perl/quickreference.pl
Normal file
92
src/libs/pdflib/bind/pdflib/perl/quickreference.pl
Normal file
@ -0,0 +1,92 @@
|
||||
#!/usr/bin/perl
|
||||
# $Id: quickreference.pl,v 1.1 2004/10/06 17:46:42 laplace Exp $
|
||||
#
|
||||
# PDFlib/PDI client: mini imposition demo
|
||||
#
|
||||
|
||||
use pdflib_pl 5.0;
|
||||
|
||||
$infile = "reference.pdf";
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
$searchpath = "../data";
|
||||
$maxrow = 2;
|
||||
$maxcol = 2;
|
||||
$pagecount = 4;
|
||||
$width = 500.0;
|
||||
$height = 770.0;
|
||||
$startpage = 1;
|
||||
$endpage = 4;
|
||||
|
||||
$p = PDF_new();
|
||||
eval{
|
||||
if (PDF_open_file($p, "quickreference.pdf") == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "quickreference.pl");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "mini imposition demo (Perl)");
|
||||
|
||||
$manual = PDF_open_pdi($p, $infile, "", 0);
|
||||
if ($manual == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
$row = 0;
|
||||
$col = 0;
|
||||
|
||||
PDF_set_parameter($p, "topdown", "true");
|
||||
|
||||
for ($pageno = $startpage; $pageno <= $endpage; $pageno++) {
|
||||
if ($row == 0 && $col == 0) {
|
||||
PDF_begin_page($p, $width, $height);
|
||||
$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
|
||||
PDF_setfont($p, $font, 18);
|
||||
PDF_set_text_pos($p, 24, 24);
|
||||
PDF_show($p, "PDFlib Quick Reference");
|
||||
}
|
||||
|
||||
$page = PDF_open_pdi_page($p, $manual, $pageno, "");
|
||||
|
||||
if ($page == -1) {
|
||||
printf("Error: %s\n", PDF_get_errmsg($p));
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_fit_pdi_page($p, $page,
|
||||
$width/$maxcol*$col, ($row + 1) * $height/$maxrow, "scale ". 1/$maxrow);
|
||||
PDF_close_pdi_page($p, $page);
|
||||
|
||||
$col++;
|
||||
if ($col == $maxcol) {
|
||||
$col = 0;
|
||||
$row++;
|
||||
}
|
||||
if ($row == $maxrow) {
|
||||
$row = 0;
|
||||
PDF_end_page($p);
|
||||
}
|
||||
}
|
||||
|
||||
# finish the last partial page
|
||||
if ($row != 0 || $col != 0) {
|
||||
PDF_end_page($p);
|
||||
}
|
||||
|
||||
PDF_close($p);
|
||||
PDF_close_pdi($p, $manual);
|
||||
};
|
||||
if ($@) {
|
||||
printf("quickreference: PDFlib Exception occurred:\n");
|
||||
printf(" $@\n");
|
||||
exit;
|
||||
}
|
||||
|
||||
PDF_delete($p);
|
27
src/libs/pdflib/bind/pdflib/perl/readme.txt
Normal file
27
src/libs/pdflib/bind/pdflib/perl/readme.txt
Normal file
@ -0,0 +1,27 @@
|
||||
ActivePerl versions
|
||||
===================
|
||||
|
||||
- ActivePerl 5.6 is _not_ binary compatible to older versions of ActivePerl
|
||||
with respect to extensions. For this reason the same PDFlib DLL can _not_
|
||||
be used with ActivePerl 5.6 and older versions. The "oldperl" directory
|
||||
of the PDFlib binary distribution for Windows contains a PDFlib DLL for
|
||||
ActivePerl versions before 5.6.
|
||||
|
||||
|
||||
Compiling PDFlib for ActivePerl on Win32
|
||||
========================================
|
||||
(not relevant for users of the binary distribution)
|
||||
|
||||
The distribution is set up to be compiled with ActivePerl 5.6.
|
||||
|
||||
With some minor modification you can also compile with ActivePerl
|
||||
versions older than 5.6 (the MSVC project contains an "oldperl" configuration
|
||||
with all of this):
|
||||
|
||||
- Run the compiler in C++ mode (required by ActiveState). In MSVC++ 6 there
|
||||
doesn't seem to be a GUI option for C++ mode, but the compiler switch
|
||||
/Tp works.
|
||||
|
||||
- Change the Perl include and lib paths appropriately.
|
||||
|
||||
- Change perl56.lib to perlcore.lib.
|
81
src/libs/pdflib/bind/pdflib/php/businesscard.php
Normal file
81
src/libs/pdflib/bind/pdflib/php/businesscard.php
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/* $Id: businesscard.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
* PDFlib client: businesscard example in PHP
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
$infile = "boilerplate.pdf";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.
|
||||
*
|
||||
* Note that this directory must also contain the LuciduxSans font outline
|
||||
* and metrics files.
|
||||
*/
|
||||
$searchpath = "../data";
|
||||
|
||||
$data = array( "name" => "Victor Kraxi",
|
||||
"business.title" => "Chief Paper Officer",
|
||||
"business.address.line1" => "17, Aviation Road",
|
||||
"business.address.city" => "Paperfield",
|
||||
"business.telephone.voice" => "phone +1 234 567-89",
|
||||
"business.telephone.fax" => "fax +1 234 567-98",
|
||||
"business.email" => "victor@kraxi.com",
|
||||
"business.homepage" => "www.kraxi.com"
|
||||
);
|
||||
|
||||
$p = PDF_new();
|
||||
|
||||
/* open new PDF file; insert a file name to create the PDF on disk */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "businesscard.php");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "PDFlib block processing sample (PHP)");
|
||||
|
||||
$blockcontainer = PDF_open_pdi($p, $infile, "", 0);
|
||||
if ($blockcontainer == 0){
|
||||
die ("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
$page = PDF_open_pdi_page($p, $blockcontainer, 1, "");
|
||||
if ($page == 0){
|
||||
die ("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
PDF_begin_page($p, 20, 20); /* dummy page size */
|
||||
|
||||
/* This will adjust the page size to the block container's size. */
|
||||
PDF_fit_pdi_page($p, $page, 0, 0, "adjustpage");
|
||||
|
||||
/* Fill all text blocks with dynamic data */
|
||||
foreach ($data as $key => $value){
|
||||
if (PDF_fill_textblock($p, $page, $key, $value,
|
||||
"embedding encoding=winansi") == 0) {
|
||||
printf("Warning: %s\n ", PDF_get_errmsg($p));
|
||||
}
|
||||
}
|
||||
|
||||
PDF_end_page($p); /* close page */
|
||||
PDF_close_pdi_page($p, $page);
|
||||
|
||||
PDF_close($p); /* close PDF document */
|
||||
PDF_close_pdi($p, $blockcontainer);
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=businesscard.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p); /* delete the PDFlib object */
|
||||
?>
|
105
src/libs/pdflib/bind/pdflib/php/chartab.php
Normal file
105
src/libs/pdflib/bind/pdflib/php/chartab.php
Normal file
@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/*
|
||||
* $Id: chartab.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
* PDFlib client: chartab example in PHP
|
||||
*/
|
||||
|
||||
/* change these as required */
|
||||
$fontname = "LuciduxSans-Oblique";
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
$searchpath = "../data";
|
||||
|
||||
/* list of encodings to use */
|
||||
$encodings = array( "iso8859-1", "iso8859-2", "iso8859-15" );
|
||||
|
||||
/* whether or not to embed the font */
|
||||
$embed = 1;
|
||||
|
||||
define("FONTSIZE", 16);
|
||||
define("TOP", 700);
|
||||
define("LEFT", 50);
|
||||
define("YINCR", 2*FONTSIZE);
|
||||
define("XINCR", 2*FONTSIZE);
|
||||
|
||||
/* create a new PDFlib object */
|
||||
$p = PDF_new();
|
||||
|
||||
|
||||
/* open new PDF file */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "openaction", "fitpage");
|
||||
PDF_set_parameter($p, "fontwarning", "true");
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "chartab.php");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "Character table (PHP)");
|
||||
|
||||
/* loop over all encodings */
|
||||
for ($page = 0; $page < count($encodings); $page++)
|
||||
{
|
||||
PDF_begin_page($p, 595, 842); /* start a new page */
|
||||
|
||||
/* print the heading and generate the bookmark */
|
||||
$font = PDF_load_font($p, "Helvetica", "winansi", "");
|
||||
PDF_setfont($p, $font, FONTSIZE);
|
||||
$buf = sprintf("%s (%s) %sembedded",
|
||||
$fontname, $encodings[$page], $embed ? "" : "not ");
|
||||
|
||||
PDF_show_xy($p, $buf, LEFT - XINCR, TOP + 3 * YINCR);
|
||||
PDF_add_bookmark($p, $buf, 0, 0);
|
||||
|
||||
/* print the row and column captions */
|
||||
PDF_setfont($p, $font, 2 * FONTSIZE/3);
|
||||
|
||||
for ($row = 0; $row < 16; $row++)
|
||||
{
|
||||
$buf = sprintf("x%X", $row);
|
||||
PDF_show_xy($p, $buf, LEFT + $row*XINCR, TOP + YINCR);
|
||||
|
||||
$buf = sprintf("%Xx", $row);
|
||||
PDF_show_xy($p, $buf, LEFT - XINCR, TOP - $row * YINCR);
|
||||
}
|
||||
|
||||
/* print the character table */
|
||||
$font = PDF_load_font($p, $fontname, $encodings[$page],
|
||||
$embed ? "embedding": "");
|
||||
PDF_setfont($p, $font, FONTSIZE);
|
||||
|
||||
$y = TOP;
|
||||
$x = LEFT;
|
||||
|
||||
for ($row = 0; $row < 16; $row++)
|
||||
{
|
||||
for ($col = 0; $col < 16; $col++) {
|
||||
$buf = sprintf("%c", 16*$row + $col);
|
||||
PDF_show_xy($p, $buf, $x, $y);
|
||||
$x += XINCR;
|
||||
}
|
||||
$x = LEFT;
|
||||
$y -= YINCR;
|
||||
}
|
||||
|
||||
PDF_end_page($p); /* close page */
|
||||
}
|
||||
|
||||
|
||||
PDF_close($p); /* close PDF document */
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=hello.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p); /* delete the PDFlib object */
|
||||
?>
|
@ -0,0 +1,8 @@
|
||||
|
||||
LTLIBRARY_NAME = libpdf.la
|
||||
LTLIBRARY_SOURCES = pdf.c
|
||||
LTLIBRARY_SHARED_NAME = libpdf_php.la
|
||||
PDFLIB_SHARED_LIBBADD = -lpdf
|
||||
LTLIBRARY_SHARED_LIBADD = $(PDFLIB_SHARED_LIBBADD)
|
||||
|
||||
include $(top_srcdir)/build/dynlib.mk
|
29
src/libs/pdflib/bind/pdflib/php/ext/pdf/config.m4
Normal file
29
src/libs/pdflib/bind/pdflib/php/ext/pdf/config.m4
Normal file
@ -0,0 +1,29 @@
|
||||
dnl $Id: config.m4,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
|
||||
PHP_ARG_WITH(pdflib,whether to include PDFlib support,
|
||||
[ --with-pdflib[=DIR] Include PDFlib 4.x support. DIR is the PDFlib
|
||||
base install directory, defaults to /usr/local
|
||||
Set DIR to "shared" to build as dl, or "shared,DIR"
|
||||
to build as dl and still specify DIR.])
|
||||
|
||||
case "$PHP_PDFLIB" in
|
||||
yes)
|
||||
PHP_EXTENSION(pdf, $ext_shared)
|
||||
AC_DEFINE(HAVE_PDFLIB,1,[ ])
|
||||
AC_SUBST(PDFLIB_SHARED_LIBADD)
|
||||
PHP_ADD_LIBRARY(pdf, PDFLIB_SHARED_LIBADD)
|
||||
;;
|
||||
no)
|
||||
;;
|
||||
*)
|
||||
dnl build from a installed/binary pdflib distribution
|
||||
if test -f "$PHP_PDFLIB/include/pdflib.h" ; then
|
||||
PHP_EXTENSION(pdf, $ext_shared)
|
||||
AC_DEFINE(HAVE_PDFLIB,1,[ ])
|
||||
AC_SUBST(PDFLIB_SHARED_LIBADD)
|
||||
PHP_ADD_LIBRARY_WITH_PATH(pdf, $withval/lib, PDFLIB_SHARED_LIBADD)
|
||||
PHP_ADD_INCLUDE($PHP_PDFLIB/include)
|
||||
else
|
||||
AC_MSG_ERROR([pdflib.h not found under $PHP_PDFLIB/include/])
|
||||
fi ;;
|
||||
esac
|
40
src/libs/pdflib/bind/pdflib/php/ext/pdf/config.php-406+.m4
Normal file
40
src/libs/pdflib/bind/pdflib/php/ext/pdf/config.php-406+.m4
Normal file
@ -0,0 +1,40 @@
|
||||
dnl $Id: config.php-406+.m4,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
|
||||
PHP_ARG_WITH(pdflib,whether to include PDFlib support,
|
||||
[ --with-pdflib[=DIR] Include PDFlib 4.x support. DIR is the PDFlib
|
||||
base install directory, defaults to /usr/local
|
||||
Set DIR to "shared" to build as dl, or "shared,DIR"
|
||||
to build as dl and still specify DIR.])
|
||||
|
||||
PHP_SUBST(PDFLIB_SHARED_LIBADD)
|
||||
PHP_EXTENSION(pdf, $ext_shared)
|
||||
|
||||
case "$PHP_PDFLIB" in
|
||||
yes)
|
||||
AC_CHECK_LIB(pdf, PDF_open_pdi, [
|
||||
AC_DEFINE(HAVE_PDFLIB,1,[ ])
|
||||
PHP_ADD_LIBRARY(pdf,, PDFLIB_SHARED_LIBADD)
|
||||
],[
|
||||
AC_MSG_ERROR(PDFlib extension requires PDFlib 4.x.)
|
||||
])
|
||||
PHP_ADD_LIBRARY(pdf,, PDFLIB_SHARED_LIBADD)
|
||||
;;
|
||||
no)
|
||||
;;
|
||||
*)
|
||||
test -f $PHP_PDFLIB/include/pdflib.h && PDFLIB_INCLUDE="$PHP_PDFLIB/include"
|
||||
if test -n "$PDFLIB_INCLUDE" ; then
|
||||
PHP_CHECK_LIBRARY(pdf, PDF_open_pdi, [
|
||||
AC_DEFINE(HAVE_PDFLIB,1,[ ])
|
||||
PHP_ADD_LIBRARY_WITH_PATH(pdf, $PHP_PDFLIB/lib, PDFLIB_SHARED_LIBADD)
|
||||
PHP_ADD_INCLUDE($PDFLIB_INCLUDE)
|
||||
],[
|
||||
AC_MSG_ERROR(PDFlib extension requires PDFlib 4.x.)
|
||||
],[
|
||||
-L$PHP_PDFLIB/lib
|
||||
])
|
||||
else
|
||||
AC_MSG_ERROR([pdflib.h not found under $PHP_PDFLIB/include/])
|
||||
|
||||
fi ;;
|
||||
esac
|
8
src/libs/pdflib/bind/pdflib/php/ext/pdf/libs.php-404.mk
Normal file
8
src/libs/pdflib/bind/pdflib/php/ext/pdf/libs.php-404.mk
Normal file
@ -0,0 +1,8 @@
|
||||
include $(top_builddir)/config_vars.mk
|
||||
LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X)
|
||||
LTLIBRARY_SHARED_OBJECTS = $(LTLIBRARY_OBJECTS:.lo=.slo)
|
||||
$(LTLIBRARY_SHARED_NAME): $(LTLIBRARY_SHARED_OBJECTS) $(LTLIBRARY_DEPENDENCIES)
|
||||
$(SHARED_LIBTOOL) --mode=link $(COMPILE) $(LDFLAGS) -o $@ -avoid-version -module -rpath $(phplibdir) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_SHARED_LIBADD)
|
||||
$(SHARED_LIBTOOL) --mode=install cp $@ $(phplibdir)
|
||||
|
||||
targets = $(LTLIBRARY_SHARED_NAME)
|
3573
src/libs/pdflib/bind/pdflib/php/ext/pdf/pdf.c
Normal file
3573
src/libs/pdflib/bind/pdflib/php/ext/pdf/pdf.c
Normal file
File diff suppressed because it is too large
Load Diff
207
src/libs/pdflib/bind/pdflib/php/ext/pdf/php_pdf.h
Normal file
207
src/libs/pdflib/bind/pdflib/php/ext/pdf/php_pdf.h
Normal file
@ -0,0 +1,207 @@
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP version 4.0 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2001 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 2.02 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available at through the world-wide-web at |
|
||||
| http://www.php.net/license/2_02.txt. |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Uwe Steinmann <Uwe.Steinmann@fernuni-hagen.de> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
/* $Id: php_pdf.h,v 1.1 2004/10/06 17:46:43 laplace Exp $ */
|
||||
/* Derived from:
|
||||
Id: php_pdf.h,v 1.22 2001/11/30 04:46:35 sniper Exp */
|
||||
|
||||
#ifndef PHP_PDF_H
|
||||
#define PHP_PDF_H
|
||||
|
||||
#if HAVE_PDFLIB
|
||||
|
||||
#include <pdflib.h>
|
||||
|
||||
extern zend_module_entry pdf_module_entry;
|
||||
#define pdf_module_ptr &pdf_module_entry
|
||||
|
||||
PHP_MINFO_FUNCTION(pdf);
|
||||
PHP_MINIT_FUNCTION(pdf);
|
||||
PHP_MSHUTDOWN_FUNCTION(pdf);
|
||||
|
||||
/* p_font.c */
|
||||
PHP_FUNCTION(pdf_add_launchlink);
|
||||
PHP_FUNCTION(pdf_add_locallink);
|
||||
PHP_FUNCTION(pdf_add_note);
|
||||
PHP_FUNCTION(pdf_add_pdflink);
|
||||
PHP_FUNCTION(pdf_add_weblink);
|
||||
PHP_FUNCTION(pdf_attach_file);
|
||||
PHP_FUNCTION(pdf_set_border_color);
|
||||
PHP_FUNCTION(pdf_set_border_dash);
|
||||
PHP_FUNCTION(pdf_set_border_style);
|
||||
|
||||
/* p_basic.c */
|
||||
PHP_FUNCTION(pdf_begin_page);
|
||||
PHP_FUNCTION(pdf_close);
|
||||
PHP_FUNCTION(pdf_delete);
|
||||
PHP_FUNCTION(pdf_end_page);
|
||||
PHP_FUNCTION(pdf_get_apiname);
|
||||
PHP_FUNCTION(pdf_get_errmsg);
|
||||
PHP_FUNCTION(pdf_get_errnum);
|
||||
PHP_FUNCTION(pdf_get_buffer);
|
||||
PHP_FUNCTION(pdf_new);
|
||||
PHP_FUNCTION(pdf_open_file);
|
||||
|
||||
/* p_block.c */
|
||||
PHP_FUNCTION(pdf_fill_imageblock);
|
||||
PHP_FUNCTION(pdf_fill_pdfblock);
|
||||
PHP_FUNCTION(pdf_fill_textblock);
|
||||
|
||||
/* p_color.c */
|
||||
PHP_FUNCTION(pdf_makespotcolor);
|
||||
PHP_FUNCTION(pdf_setcolor);
|
||||
PHP_FUNCTION(pdf_setgray_fill); /* deprecated (since 4.0) */
|
||||
PHP_FUNCTION(pdf_setgray_stroke); /* deprecated (since 4.0) */
|
||||
PHP_FUNCTION(pdf_setgray); /* deprecated (since 4.0) */
|
||||
PHP_FUNCTION(pdf_setrgbcolor_fill); /* deprecated (since 4.0) */
|
||||
PHP_FUNCTION(pdf_setrgbcolor_stroke);/* deprecated (since 4.0) */
|
||||
PHP_FUNCTION(pdf_setrgbcolor); /* deprecated (since 4.0) */
|
||||
|
||||
/* p_draw.c */
|
||||
PHP_FUNCTION(pdf_arc);
|
||||
PHP_FUNCTION(pdf_arcn);
|
||||
PHP_FUNCTION(pdf_circle);
|
||||
PHP_FUNCTION(pdf_clip);
|
||||
PHP_FUNCTION(pdf_closepath);
|
||||
PHP_FUNCTION(pdf_closepath_fill_stroke);
|
||||
PHP_FUNCTION(pdf_closepath_stroke);
|
||||
PHP_FUNCTION(pdf_curveto);
|
||||
PHP_FUNCTION(pdf_endpath);
|
||||
PHP_FUNCTION(pdf_fill);
|
||||
PHP_FUNCTION(pdf_fill_stroke);
|
||||
PHP_FUNCTION(pdf_lineto);
|
||||
PHP_FUNCTION(pdf_moveto);
|
||||
PHP_FUNCTION(pdf_rect);
|
||||
PHP_FUNCTION(pdf_stroke);
|
||||
|
||||
/* p_encoding.c */
|
||||
PHP_FUNCTION(pdf_encoding_set_char);
|
||||
|
||||
/* p_font.c */
|
||||
PHP_FUNCTION(pdf_findfont);
|
||||
PHP_FUNCTION(pdf_load_font);
|
||||
PHP_FUNCTION(pdf_setfont);
|
||||
|
||||
/* p_gstate.c */
|
||||
PHP_FUNCTION(pdf_concat);
|
||||
PHP_FUNCTION(pdf_initgraphics);
|
||||
PHP_FUNCTION(pdf_restore);
|
||||
PHP_FUNCTION(pdf_rotate);
|
||||
PHP_FUNCTION(pdf_save);
|
||||
PHP_FUNCTION(pdf_scale);
|
||||
PHP_FUNCTION(pdf_setdash);
|
||||
PHP_FUNCTION(pdf_setdashpattern);
|
||||
PHP_FUNCTION(pdf_setflat);
|
||||
PHP_FUNCTION(pdf_setlinecap);
|
||||
PHP_FUNCTION(pdf_setlinejoin);
|
||||
PHP_FUNCTION(pdf_setlinewidth);
|
||||
PHP_FUNCTION(pdf_setmatrix);
|
||||
PHP_FUNCTION(pdf_setmiterlimit);
|
||||
PHP_FUNCTION(pdf_setpolydash); /* deprecated since V5.0 */
|
||||
PHP_FUNCTION(pdf_skew);
|
||||
PHP_FUNCTION(pdf_translate);
|
||||
|
||||
/* p_hyper.c */
|
||||
PHP_FUNCTION(pdf_add_bookmark);
|
||||
PHP_FUNCTION(pdf_add_nameddest);
|
||||
PHP_FUNCTION(pdf_set_info);
|
||||
|
||||
/* p_icc.c */
|
||||
PHP_FUNCTION(pdf_load_iccprofile);
|
||||
|
||||
/* p_image.c */
|
||||
PHP_FUNCTION(pdf_add_thumbnail);
|
||||
PHP_FUNCTION(pdf_close_image);
|
||||
PHP_FUNCTION(pdf_fit_image);
|
||||
PHP_FUNCTION(pdf_load_image);
|
||||
PHP_FUNCTION(pdf_open_ccitt); /* deprecated since V5.0 */
|
||||
PHP_FUNCTION(pdf_open_image); /* deprecated since V5.0 */
|
||||
PHP_FUNCTION(pdf_open_image_file); /* deprecated since V5.0 */
|
||||
PHP_FUNCTION(pdf_place_image); /* deprecated since V5.0 */
|
||||
|
||||
/* p_params.c */
|
||||
PHP_FUNCTION(pdf_get_parameter);
|
||||
PHP_FUNCTION(pdf_get_value);
|
||||
PHP_FUNCTION(pdf_set_parameter);
|
||||
PHP_FUNCTION(pdf_set_value);
|
||||
|
||||
/* p_pattern.c */
|
||||
PHP_FUNCTION(pdf_begin_pattern);
|
||||
PHP_FUNCTION(pdf_end_pattern);
|
||||
|
||||
/* p_pdi.c */
|
||||
PHP_FUNCTION(pdf_close_pdi);
|
||||
PHP_FUNCTION(pdf_close_pdi_page);
|
||||
PHP_FUNCTION(pdf_fit_pdi_page);
|
||||
PHP_FUNCTION(pdf_get_pdi_parameter);
|
||||
PHP_FUNCTION(pdf_get_pdi_value);
|
||||
PHP_FUNCTION(pdf_open_pdi);
|
||||
PHP_FUNCTION(pdf_open_pdi_page);
|
||||
PHP_FUNCTION(pdf_place_pdi_page); /* deprecated since V5.0 */
|
||||
PHP_FUNCTION(pdf_process_pdi);
|
||||
|
||||
/* p_resource.c */
|
||||
PHP_FUNCTION(pdf_create_pvf);
|
||||
PHP_FUNCTION(pdf_delete_pvf);
|
||||
|
||||
/* p_shading.c */
|
||||
PHP_FUNCTION(pdf_shading);
|
||||
PHP_FUNCTION(pdf_shading_pattern);
|
||||
PHP_FUNCTION(pdf_shfill);
|
||||
|
||||
/* p_template.c */
|
||||
PHP_FUNCTION(pdf_begin_template);
|
||||
PHP_FUNCTION(pdf_end_template);
|
||||
|
||||
/* p_text.c */
|
||||
PHP_FUNCTION(pdf_continue_text);
|
||||
PHP_FUNCTION(pdf_fit_textline);
|
||||
PHP_FUNCTION(pdf_set_text_pos);
|
||||
PHP_FUNCTION(pdf_show);
|
||||
PHP_FUNCTION(pdf_show_boxed);
|
||||
PHP_FUNCTION(pdf_show_xy);
|
||||
PHP_FUNCTION(pdf_stringwidth);
|
||||
|
||||
/* p_type3.c */
|
||||
PHP_FUNCTION(pdf_begin_font);
|
||||
PHP_FUNCTION(pdf_begin_glyph);
|
||||
PHP_FUNCTION(pdf_end_font);
|
||||
PHP_FUNCTION(pdf_end_glyph);
|
||||
|
||||
/* p_xgstate.c */
|
||||
PHP_FUNCTION(pdf_create_gstate);
|
||||
PHP_FUNCTION(pdf_set_gstate);
|
||||
|
||||
|
||||
#if HAVE_LIBGD13
|
||||
/* not supported by PDFlib GmbH */
|
||||
PHP_FUNCTION(pdf_open_memory_image);
|
||||
#endif
|
||||
|
||||
#ifdef ZTS
|
||||
#define PDFG(v) TSRMG(pdf_globals_id, php_pdf_globals *, v)
|
||||
#else
|
||||
#define PDFG(v) (pdf_globals.v)
|
||||
#endif
|
||||
|
||||
|
||||
#else
|
||||
#define pdf_module_ptr NULL
|
||||
#endif
|
||||
#define phpext_pdf_ptr pdf_module_ptr
|
||||
#endif /* PHP_PDF_H */
|
40
src/libs/pdflib/bind/pdflib/php/hello.php
Normal file
40
src/libs/pdflib/bind/pdflib/php/hello.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
# $Id: hello.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
|
||||
/* create a new PDFlib object */
|
||||
$p = PDF_new();
|
||||
|
||||
/* open new PDF file; insert a file name to create the PDF on disk */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "hello.php");
|
||||
PDF_set_info($p, "Author", "Rainer Schaaf");
|
||||
PDF_set_info($p, "Title", "Hello world (PHP)!");
|
||||
|
||||
PDF_begin_page($p, 595, 842); /* start a new page */
|
||||
|
||||
$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
|
||||
|
||||
PDF_setfont($p, $font, 24.0);
|
||||
PDF_set_text_pos($p, 50, 700);
|
||||
PDF_show($p, "Hello world!");
|
||||
PDF_continue_text($p, "(says PHP)");
|
||||
PDF_end_page($p); /* close page */
|
||||
|
||||
PDF_close($p); /* close PDF document */
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=hello.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p); /* delete the PDFlib object */
|
||||
?>
|
47
src/libs/pdflib/bind/pdflib/php/image.php
Normal file
47
src/libs/pdflib/bind/pdflib/php/image.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
# $Id: image.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
$searchpath = "../data";
|
||||
|
||||
$p = PDF_new(); /* create a new PDFlib object */
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
/* open new PDF file; insert a file name to create the PDF on disk */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "image.php");
|
||||
PDF_set_info($p, "Author", "Rainer Schaaf");
|
||||
PDF_set_info($p, "Title", "image sample (PHP)");
|
||||
|
||||
$imagefile = "nesrin.jpg";
|
||||
|
||||
$image = PDF_load_image($p, "auto", $imagefile, "");
|
||||
if (!$image) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
/* dummy page size, will be adjusted by PDF_fit_image() */
|
||||
PDF_begin_page($p, 10, 10);
|
||||
PDF_fit_image($p, $image, 0, 0, "adjustpage");
|
||||
PDF_close_image($p, $image);
|
||||
PDF_end_page($p); /* close page */
|
||||
|
||||
PDF_close($p); /* close PDF document */
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=image.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p); /* delete the PDFlib object */
|
||||
?>
|
152
src/libs/pdflib/bind/pdflib/php/invoice.php
Normal file
152
src/libs/pdflib/bind/pdflib/php/invoice.php
Normal file
@ -0,0 +1,152 @@
|
||||
<?php
|
||||
/* $Id: invoice.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
*
|
||||
* PDFlib client: invoice example in PHP
|
||||
*/
|
||||
|
||||
$col1 = 55;
|
||||
$col2 = 100;
|
||||
$col3 = 330;
|
||||
$col4 = 430;
|
||||
$col5 = 530;
|
||||
$fontsize = 12;
|
||||
$pagewidth = 595;
|
||||
$pageheight = 842;
|
||||
$fontsize = 12;
|
||||
$infile = "stationery.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
$searchpath = "../data";
|
||||
$closingtext =
|
||||
"30 days warranty starting at the day of sale. " .
|
||||
"This warranty covers defects in workmanship only. " .
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the " .
|
||||
"product under the warranty. This warranty is not transferable. " .
|
||||
"No returns or exchanges will be accepted for wet products.";
|
||||
|
||||
$data = array( array("name"=>"Super Kite", "price"=>20, "quantity"=>2),
|
||||
array("name"=>"Turbo Flyer", "price"=>40, "quantity"=>5),
|
||||
array("name"=>"Giga Trasch", "price"=>180, "quantity"=>1),
|
||||
array("name"=>"Bare Bone Kit", "price"=>50, "quantity"=>3),
|
||||
array("name"=>"Nitty Gritty", "price"=>20, "quantity"=>10),
|
||||
array("name"=>"Pretty Dark Flyer","price"=>75, "quantity"=>1),
|
||||
array("name"=>"Free Gift", "price"=>0, "quantity"=>1)
|
||||
);
|
||||
|
||||
$months = array( "January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December");
|
||||
|
||||
$p = PDF_new();
|
||||
|
||||
/* open new PDF file; insert a file name to create the PDF on disk */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "invoice.php");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "PDFlib invoice generation demo (PHP)");
|
||||
|
||||
$form = PDF_open_pdi($p, $infile, "", 0);
|
||||
if ($form == 0){
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
$page = PDF_open_pdi_page($p, $form, 1, "");
|
||||
if ($page == 0){
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
|
||||
$boldfont = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
|
||||
$regularfont = PDF_load_font($p, "Helvetica", "winansi", "");
|
||||
$leading = $fontsize + 2;
|
||||
|
||||
/* Establish coordinates with the origin in the upper left corner. */
|
||||
PDF_set_parameter($p, "topdown", "true");
|
||||
|
||||
PDF_begin_page($p, $pagewidth, $pageheight); /* A4 page */
|
||||
|
||||
PDF_fit_pdi_page($p, $page, 0, $pageheight, "");
|
||||
PDF_close_pdi_page($p, $page);
|
||||
|
||||
PDF_setfont($p, $regularfont, $fontsize);
|
||||
|
||||
/* print the address */
|
||||
$y = 170;
|
||||
PDF_set_value($p, "leading", $leading);
|
||||
|
||||
PDF_show_xy($p, "John Q. Doe", $col1, $y);
|
||||
PDF_continue_text($p, "255 Customer Lane");
|
||||
PDF_continue_text($p, "Suite B");
|
||||
PDF_continue_text($p, "12345 User Town");
|
||||
PDF_continue_text($p, "Everland");
|
||||
|
||||
/* print the header and date */
|
||||
|
||||
PDF_setfont($p, $boldfont, $fontsize);
|
||||
$y = 300;
|
||||
PDF_show_xy($p, "INVOICE", $col1, $y);
|
||||
$time = localtime();
|
||||
$buf = sprintf("%s %d, %d", $months[$time[4]], $time[3], $time[5]+1900);
|
||||
PDF_fit_textline($p, $buf, $col5, $y, "position {100 0}");
|
||||
|
||||
|
||||
/* print the invoice header line */
|
||||
PDF_setfont($p, $boldfont, $fontsize);
|
||||
|
||||
/* "position {0 0}" is left-aligned, "position {100 0}" right-aligned */
|
||||
$y = 370;
|
||||
PDF_fit_textline($p, "ITEM", $col1, $y, "position {0 0}");
|
||||
PDF_fit_textline($p, "DESCRIPTION", $col2, $y, "position {0 0}");
|
||||
PDF_fit_textline($p, "QUANTITY", $col3, $y, "position {100 0}");
|
||||
PDF_fit_textline($p, "PRICE", $col4, $y, "position {100 0}");
|
||||
PDF_fit_textline($p, "AMOUNT", $col5, $y, "position {100 0}");
|
||||
|
||||
PDF_setfont($p, $regularfont, $fontsize);
|
||||
$y += 2*$leading;
|
||||
$total = 0;
|
||||
|
||||
for ($i = 0; $i < count($data); $i++){
|
||||
PDF_show_xy($p, $i+1, $col1, $y);
|
||||
|
||||
PDF_show_xy($p, $data[$i]{"name"}, $col2, $y);
|
||||
PDF_fit_textline($p, $data[$i]{"quantity"}, $col3, $y, "position {100 0}");
|
||||
PDF_fit_textline($p, $data[$i]{"price"}, $col4, $y, "position {100 0}");
|
||||
$sum = $data[$i]{"price"}*$data[$i]{"quantity"};
|
||||
$buf = sprintf("%.2f", $sum);
|
||||
PDF_fit_textline($p, $buf, $col5, $y, "position {100 0}");
|
||||
$y += $leading;
|
||||
$total +=$sum;
|
||||
}
|
||||
|
||||
$y += $leading;
|
||||
PDF_setfont($p, $boldfont, $fontsize);
|
||||
PDF_fit_textline($p,sprintf("%.2f",$total), $col5, $y, "position {100 0}");
|
||||
|
||||
/* Print the closing text */
|
||||
|
||||
$y +=5*$leading;
|
||||
PDF_setfont($p, $regularfont, $fontsize);
|
||||
PDF_set_value($p, "leading", $leading);
|
||||
PDF_show_boxed($p, $closingtext,
|
||||
$col1, $y + 4*$leading, $col5-$col1, 4*$leading, "justify", "");
|
||||
|
||||
PDF_end_page($p);
|
||||
PDF_close($p);
|
||||
PDF_close_pdi($p, $form);
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=hello.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p);
|
||||
?>
|
102
src/libs/pdflib/bind/pdflib/php/pdfclock.php
Normal file
102
src/libs/pdflib/bind/pdflib/php/pdfclock.php
Normal file
@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/* $Id: pdfclock.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
* A little PDFlib application to draw an analog clock.
|
||||
*
|
||||
*/
|
||||
$RADIUS = 200.0;
|
||||
$MARGIN = 20.0;
|
||||
|
||||
$p = PDF_new(); /* create a new PDFlib object */
|
||||
|
||||
/* open new PDF file; insert a file name to create the PDF on disk */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "pdfclock.php");
|
||||
PDF_set_info($p, "Author", "Rainer Schaaf");
|
||||
PDF_set_info($p, "Title", "PDF clock (PHP)");
|
||||
/* start a new page */
|
||||
PDF_begin_page($p, 2 * ($RADIUS + $MARGIN), 2 * ($RADIUS + $MARGIN));
|
||||
|
||||
PDF_translate($p, $RADIUS + $MARGIN, $RADIUS + $MARGIN);
|
||||
PDF_setcolor($p, "fillstroke", "rgb", 0.0, 0.0, 1.0, 0.0);
|
||||
PDF_save($p);
|
||||
|
||||
/* minute strokes */
|
||||
PDF_setlinewidth($p, 2.0);
|
||||
for ($alpha = 0; $alpha < 360; $alpha += 6)
|
||||
{
|
||||
PDF_rotate($p, 6.0);
|
||||
PDF_moveto($p, $RADIUS, 0.0);
|
||||
PDF_lineto($p, $RADIUS-$MARGIN/3, 0.0);
|
||||
PDF_stroke($p);
|
||||
}
|
||||
|
||||
PDF_restore($p);
|
||||
PDF_save($p);
|
||||
|
||||
/* 5 minute strokes */
|
||||
PDF_setlinewidth($p, 3.0);
|
||||
for ($alpha = 0; $alpha < 360; $alpha += 30)
|
||||
{
|
||||
PDF_rotate($p, 30.0);
|
||||
PDF_moveto($p, $RADIUS, 0.0);
|
||||
PDF_lineto($p, $RADIUS-$MARGIN, 0.0);
|
||||
PDF_stroke($p);
|
||||
}
|
||||
|
||||
$ltime = getdate();
|
||||
|
||||
/* draw hour hand */
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, -(($ltime['minutes']/60.0)+$ltime['hours']-3.0)*30.0);
|
||||
PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
|
||||
PDF_lineto($p, $RADIUS/2, 0.0);
|
||||
PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
|
||||
PDF_closepath($p);
|
||||
PDF_fill($p);
|
||||
PDF_restore($p);
|
||||
|
||||
/* draw minute hand */
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, -(($ltime['seconds']/60.0)+$ltime['minutes']-15.0)*6.0);
|
||||
PDF_moveto($p, -$RADIUS/10, -$RADIUS/20);
|
||||
PDF_lineto($p, $RADIUS * 0.8, 0.0);
|
||||
PDF_lineto($p, -$RADIUS/10, $RADIUS/20);
|
||||
PDF_closepath($p);
|
||||
PDF_fill($p);
|
||||
PDF_restore($p);
|
||||
|
||||
/* draw second hand */
|
||||
PDF_setcolor($p, "fillstroke", "rgb", 1.0, 0.0, 0.0, 0.0);
|
||||
PDF_setlinewidth($p, 2);
|
||||
PDF_save($p);
|
||||
PDF_rotate($p, -(($ltime['seconds'] - 15.0) * 6.0));
|
||||
PDF_moveto($p, -$RADIUS/5, 0.0);
|
||||
PDF_lineto($p, $RADIUS, 0.0);
|
||||
PDF_stroke($p);
|
||||
PDF_restore($p);
|
||||
|
||||
/* draw little circle at center */
|
||||
PDF_circle($p, 0, 0, $RADIUS/30);
|
||||
PDF_fill($p);
|
||||
|
||||
PDF_restore($p);
|
||||
PDF_end_page($p); /* close page */
|
||||
|
||||
PDF_close($p); /* close PDF document */
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=pdfclock.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p); /* delete the PDFlib object */
|
||||
?>
|
89
src/libs/pdflib/bind/pdflib/php/quickreference.php
Normal file
89
src/libs/pdflib/bind/pdflib/php/quickreference.php
Normal file
@ -0,0 +1,89 @@
|
||||
<?php
|
||||
# $Id: quickreference.php,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
|
||||
$infile = "reference.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary. */
|
||||
$searchpath = "../data";
|
||||
$maxrow = 2;
|
||||
$maxcol = 2;
|
||||
$width = 500.0;
|
||||
$height = 770.0;
|
||||
$startpage = 1;
|
||||
$endpage = 4;
|
||||
|
||||
$p = PDF_new(); /* create a new PDFlib object */
|
||||
|
||||
/* open new PDF file; insert a file name to create the PDF on disk */
|
||||
if (PDF_open_file($p, "") == 0) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
PDF_set_parameter($p, "SearchPath", $searchpath);
|
||||
|
||||
/* This line is required to avoid problems on Japanese systems */
|
||||
PDF_set_parameter($p, "hypertextencoding", "winansi");
|
||||
|
||||
PDF_set_info($p, "Creator", "quickreference.php");
|
||||
PDF_set_info($p, "Author", "Thomas Merz");
|
||||
PDF_set_info($p, "Title", "mini imposition demo (php)");
|
||||
|
||||
$manual = PDF_open_pdi($p, $infile, "", 0);
|
||||
if (!$manual) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
$row = 0;
|
||||
$col = 0;
|
||||
|
||||
PDF_set_parameter($p, "topdown", "true");
|
||||
|
||||
for ($pageno = $startpage; $pageno <= $endpage; $pageno++) {
|
||||
if ($row == 0 && $col == 0) {
|
||||
PDF_begin_page($p, $width, $height);
|
||||
$font = PDF_load_font($p, "Helvetica-Bold", "winansi", "");
|
||||
PDF_setfont($p, $font, 18);
|
||||
PDF_set_text_pos($p, 24, 24);
|
||||
PDF_show($p, "PDFlib Quick Reference");
|
||||
}
|
||||
|
||||
$page = PDF_open_pdi_page($p, $manual, $pageno, "");
|
||||
|
||||
if (!$page) {
|
||||
die("Error: " . PDF_get_errmsg($p));
|
||||
}
|
||||
|
||||
$optlist = sprintf("scale %f", 1/$maxrow);
|
||||
|
||||
PDF_fit_pdi_page($p, $page,
|
||||
$width/$maxcol*$col, ($row + 1) * $height/$maxrow, $optlist);
|
||||
PDF_close_pdi_page($p, $page);
|
||||
|
||||
$col++;
|
||||
if ($col == $maxcol) {
|
||||
$col = 0;
|
||||
$row++;
|
||||
}
|
||||
if ($row == $maxrow) {
|
||||
$row = 0;
|
||||
PDF_end_page($p);
|
||||
}
|
||||
}
|
||||
|
||||
/* finish the last partial page */
|
||||
if ($row != 0 || $col != 0) {
|
||||
PDF_end_page($p);
|
||||
}
|
||||
|
||||
PDF_close($p);
|
||||
PDF_close_pdi($p, $manual);
|
||||
|
||||
$buf = PDF_get_buffer($p);
|
||||
$len = strlen($buf);
|
||||
|
||||
header("Content-type: application/pdf");
|
||||
header("Content-Length: $len");
|
||||
header("Content-Disposition: inline; filename=quickreference_php.pdf");
|
||||
print $buf;
|
||||
|
||||
PDF_delete($p);
|
||||
?>
|
243
src/libs/pdflib/bind/pdflib/php/readme.txt
Normal file
243
src/libs/pdflib/bind/pdflib/php/readme.txt
Normal file
@ -0,0 +1,243 @@
|
||||
===================================
|
||||
Notes on the PDFlib binding for PHP
|
||||
===================================
|
||||
|
||||
The binary distribution of PDFlib supports using PDFlib as a loadable
|
||||
module (DSO) in PHP. This implies some restrictions, but simplifies PDFlib
|
||||
deployment a lot. Using PDFlib as a loadable module is the recommended
|
||||
way for using PDFlib with PHP.
|
||||
|
||||
If the loadable module does not fit your needs, the binary distribution
|
||||
also includes a precompiled PDFlib library (bind/c/lib/libpdf.*), to be used in
|
||||
your custom build process for PHP. This will allow you to integrate PDFlib
|
||||
(including the PDI functionality) into your own PHP build process.
|
||||
|
||||
Please note that only PDFlib Lite is available in source form.
|
||||
PDFlib, PDFlib+PDI, and the PDFlib Personalization Server (PPS) are
|
||||
available for commercial licensing only, and therefore require a
|
||||
binary package.
|
||||
|
||||
If your distribution does not contain the expected binaries, please contact
|
||||
bindings@pdflib.com. We only include binaries for the most common PHP versions
|
||||
to not overload the download package. Please include the platform and the
|
||||
exact PHP version you are looking for.
|
||||
|
||||
Of course you may also use PDFlib for PHP with the source distribution, but
|
||||
since there are so many PHP configuration options we will only give a rough
|
||||
overview how to do this.
|
||||
|
||||
Summary of this document:
|
||||
|
||||
- "Loadable Module (DSO)"
|
||||
The recommended way for using PDFlib with PHP.
|
||||
If you could not find a DSO for your PHP version/platform in the distribution
|
||||
please contact bindings@pdflib.com.
|
||||
|
||||
- "Rebuild PHP"
|
||||
If the loadable module does not fit your needs, or if DSO modules are not
|
||||
supported on your platform, you can rebuild PHP with PDFlib support.
|
||||
Caution: this requires substantially more effort than the loadable module.
|
||||
|
||||
- "Samples"
|
||||
How to set up the supplied PDFlib examples.
|
||||
|
||||
|
||||
Loadable Module
|
||||
===============
|
||||
|
||||
Use the PDFlib loadable module from the "bind/php/<phpversion>" directory
|
||||
of the PDFlib binary distribution. The name of the loadable module depends
|
||||
on the platform:
|
||||
|
||||
- Windows: libpdf_php.dll
|
||||
- Linux: libpdf_php.so
|
||||
- Other Unix systems: libpdf_php.* with the appropriate shared
|
||||
library suffix
|
||||
|
||||
The following conditions must be met in order to use PDFlib as a
|
||||
loadable module:
|
||||
|
||||
- PHP on your platform must support DSOs. This is the case on Windows
|
||||
and many Unix platforms, but not all. For example, PHP does not support
|
||||
DSOs on Mac OS X before PHP 4.3.0.
|
||||
|
||||
- PDFlib support must not already have been compiled into your PHP version.
|
||||
If your PHP already includes PDFlib support (this is the case for
|
||||
versions of PHP distributed with many Linux distributions) you must
|
||||
rebuild PHP with the "-with-pdflib=no" configure option.
|
||||
(*HINT* for maintainers of Linux distributions:
|
||||
include PDFlib support for PHP as DSO, this allows easier updates)
|
||||
|
||||
- Several properties of your PHP version must match the loadable module
|
||||
of PDFlib. The supplied binary modules for PDFlib have been built as
|
||||
follows:
|
||||
- nondebug version
|
||||
- for supported PHP version numbers see "bind/php/<phpversion>
|
||||
- thread-safe (only relevant for Windows)
|
||||
|
||||
If you get an error message similar to the following your PHP version
|
||||
number does not match that of the PDFlib module:
|
||||
Warning: pdf: Unable to initialize module
|
||||
Module compiled with debug=0, thread-safety=1 module API=20001214
|
||||
PHP compiled with debug=0, thread-safety=1 module API=20001222
|
||||
Unfortunately new PHP version simply deny loading a wrong module
|
||||
whithout any specific error message.
|
||||
|
||||
All of these options must match.
|
||||
|
||||
|
||||
If you can't meet the above conditions you must choose to "Rebuild PHP" as
|
||||
described below (or ask us whether your combination will be available soon).
|
||||
|
||||
|
||||
Installing the module on Windows:
|
||||
|
||||
- Our DLLs have been tested with the binary PHP distribution which is
|
||||
available from http://www.php.net.
|
||||
|
||||
- The PDFlib binary distribution for Windows contains several DLLs
|
||||
for different versions of PHP. Currently we offer the following
|
||||
flavors:
|
||||
|
||||
- "php-4.1.0\libpdf_php.dll" was built for PHP 4.1.0/4.1.1/4.2.0
|
||||
- "php-4.2.1\libpdf_php.dll" was built for PHP 4.2.1-4.3.5
|
||||
|
||||
- For the PHP installation please follow the documentation of your
|
||||
PHP distribution and copy "bind/php/<your phpversion>/libpdf_php.dll"
|
||||
to the directory which is specified in the "extension_dir" line in
|
||||
php.ini.
|
||||
|
||||
Installing the module on Unix:
|
||||
|
||||
- The PDFlib binary distribution for Unix contains several shared libraries
|
||||
for different versions of PHP. Currently we offer the following
|
||||
flavors:
|
||||
|
||||
- "php-4.1.0\libpdf_php.*" was built for PHP 4.1.0, 4.1.1, 4.2.0
|
||||
- "php-4.2.1\libpdf_php.*" was built for PHP 4.2.1-4.3.5
|
||||
|
||||
- Copy the file libpdf_php.* from the directory "bind/php/<phpversion>"
|
||||
of the PDFlib binary distribution to the directory which is specified in
|
||||
the "extension_dir" line in php.ini.
|
||||
|
||||
|
||||
Using the module:
|
||||
|
||||
- If you decide to load PDFlib each time PHP starts insert one line in
|
||||
php.ini:
|
||||
extension=libpdf_php.dll (on Windows)
|
||||
or
|
||||
extension = libpdf_php.so (on Unix)
|
||||
|
||||
and restart apache, so that the changes are recognized.
|
||||
You may check <?phpinfo()?> whether the installation did work. If you
|
||||
don't find a PDF section please check your logfiles for the reason.
|
||||
|
||||
- Without the "extension = ..." line in php.ini you must include the
|
||||
following line in your PHP scripts:
|
||||
dl("libpdf_php.dll"); (on Windows)
|
||||
or
|
||||
dl("libpdf_php.so"); (on Unix)
|
||||
|
||||
In this case your php.ini needs these settings:
|
||||
- php.ini must include the line "safe_mode=Off".
|
||||
- php.ini must include the line "enable_dl=On".
|
||||
|
||||
|
||||
|
||||
Rebuild PHP
|
||||
===========
|
||||
|
||||
If the loadable module does not fit your needs, or if DSO modules are not
|
||||
supported on your platform, you can rebuild PHP with PDFlib support.
|
||||
|
||||
WARNING: this option requires substantial experience with building PHP.
|
||||
It is not a matter of simply calling "make" and waiting for the result.
|
||||
If you never built PHP from source code it is strongly recommended to
|
||||
avoid this option.
|
||||
|
||||
When recompiling PHP using the library from the binary PDFlib distribution
|
||||
you have to use the library located in the "bind/c" directory of the PDFlib
|
||||
distribution.
|
||||
|
||||
Note: Building PDFlib for PHP from the source code of PDFlib is not supported
|
||||
by PDFlib GmbH since we supply precompiled binaries (although it should work,
|
||||
and therefore you will find hints how to do it below).
|
||||
|
||||
Unix
|
||||
- Unpack the PDFlib binary distribution to <pdflib-dir>,
|
||||
or unpack the PDFlib source distribution to <pdflib-dir>, and
|
||||
issue the command
|
||||
|
||||
$ ./configure; make; make install
|
||||
|
||||
- Copy some PDFlib support files for PHP to your PHP source tree (check
|
||||
the section "Support Files" below to see which files apply to your
|
||||
PHP version.
|
||||
|
||||
$ cp <pdflib-dir>/bind/php/ext/pdf/<somefiles> <php-dir>/ext/pdf
|
||||
|
||||
and rebuild the PHP configure script in the PHP directory (only
|
||||
neccesary if you decided to use our config.m4 script):
|
||||
|
||||
$ ./buildconf
|
||||
|
||||
- For rebuilding PHP add the following to your PHP configure options:
|
||||
--with-pdflib=<pdflib-dir>/bind/c
|
||||
|
||||
or if building PDFlib from source:
|
||||
--with-pdflib[=<pdflib-install-directory>]
|
||||
|
||||
where <pdflib-install-directory> will typically be something like
|
||||
/usr/local or similar (the directory where "lib" and "include" for PDFlib
|
||||
reside).
|
||||
|
||||
- Now rebuild PHP as usual, and install it.
|
||||
|
||||
Windows
|
||||
- Create PDFlib.lib from the PDFlib sources. Change the project settings
|
||||
to create a "Multithreaded DLL" library named pdflib.lib.
|
||||
|
||||
- Copy the required PDFlib support files (see below) for PHP to your
|
||||
PHP source tree.
|
||||
|
||||
C:\> copy <pdflib-dir>\bind\php\ext\pdf\<somefiles> <php-dir>\ext\pdf
|
||||
|
||||
- Now rebuild libpdf_php.dll.
|
||||
|
||||
|
||||
Support files
|
||||
The following files have to be copied from bind/php/ext/pdf to the ext/pdf
|
||||
directory of your PHP source tree. Replacing config.m4 is optional, but
|
||||
the config.m4 supplied by us is much simpler and therefor makes less
|
||||
troubles if you manage to go through the buildconf process.
|
||||
|
||||
Which files are needed depends on the PHP version you use:
|
||||
|
||||
PHP 4.1.0-4.1.1
|
||||
config.php-406+.m4 -> config.m4
|
||||
pdf.c -> pdf.c
|
||||
php_pdf.h -> php_pdf.h
|
||||
|
||||
PHP 4.2.1-4.2.3
|
||||
config.php-406+.m4 -> config.m4
|
||||
pdf.c -> pdf.c
|
||||
php_pdf.h -> php_pdf.h
|
||||
|
||||
PHP 4.3.0-4.3.5
|
||||
pdf.c -> pdf.c
|
||||
php_pdf.h -> php_pdf.h
|
||||
|
||||
|
||||
Samples
|
||||
=======
|
||||
|
||||
To use the samples:
|
||||
|
||||
- Copy some files:
|
||||
$ cp bind/php/*.php .../htdocs # (to your htdocs directory)
|
||||
$ cp bind/data/* .../htdocs/data # (to your htdocs)
|
||||
|
||||
- point your browser to the sample files
|
||||
|
||||
- enjoy the generated PDFs
|
56
src/libs/pdflib/bind/pdflib/python/Makefile
Normal file
56
src/libs/pdflib/bind/pdflib/python/Makefile
Normal file
@ -0,0 +1,56 @@
|
||||
# Makefile for PDFlib's Python binding
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
include $(top_builddir)/config/mkcommon.inc
|
||||
|
||||
INCLUDES = $(PDFLIBINC) $(PYINCLUDE)
|
||||
# special CFLAGS, as -ansi is not working here.
|
||||
CFLAGS = $(DEFS) $(DEFINES) $(INCLUDES)
|
||||
|
||||
LANG_LIBDIR = $(PYTHONLIBDIR)
|
||||
|
||||
LIBNAME = pdflib_py$(LA)
|
||||
OBJ = pdflib_py$(LO)
|
||||
SRC = pdflib_py.c
|
||||
|
||||
|
||||
include $(top_builddir)/config/mkbind.inc
|
||||
|
||||
test:: all
|
||||
@-(. ./pdflib_py$(LA); cd .libs; cp $$library_names ..)
|
||||
-$(LIBTOOL_EXE) python hello.py
|
||||
-$(LIBTOOL_EXE) python image.py
|
||||
-$(LIBTOOL_EXE) python pdfclock.py
|
||||
-$(LIBTOOL_EXE) python chartab.py
|
||||
-$(LIBTOOL_EXE) python invoice.py
|
||||
-$(LIBTOOL_EXE) python businesscard.py
|
||||
-$(LIBTOOL_EXE) python quickreference.py
|
||||
|
||||
smoke:: test
|
||||
|
||||
install:: $(LIBNAME)
|
||||
@-if test -f .libs/libpdflib_py.dylib; then \
|
||||
$(INSTALL_DATA) .libs/pdflib_py.so $(LANG_LIBDIR); \
|
||||
else \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_DATA) \
|
||||
$(LIBNAME) $(LANG_LIBDIR); \
|
||||
fi
|
||||
|
||||
uninstall::
|
||||
@-if test -f .libs/libpdflib_py.dylib; then \
|
||||
$(LIBTOOL) --mode=uninstall $(RM) $(LANG_LIBDIR)/pdflib_py.so\
|
||||
else \
|
||||
$(LIBTOOL) --mode=uninstall $(RM) $(LANG_LIBDIR)/$(LIBNAME) \
|
||||
fi
|
||||
|
||||
clean::
|
||||
@-if test -f pdflib_py.la; then \
|
||||
(. ./pdflib_py.la; $(RM) $$library_names) \
|
||||
fi
|
||||
$(RM) smoke_c_?.pdf
|
||||
$(RM) hello.pdf image.pdf pdfclock.pdf chartab.pdf invoice.pdf
|
||||
$(RM) businesscard.pdf quickreference.pdf
|
||||
|
||||
# Automatically generated dependencies
|
202
src/libs/pdflib/bind/pdflib/python/Python.dsp
Normal file
202
src/libs/pdflib/bind/pdflib/python/Python.dsp
Normal file
@ -0,0 +1,202 @@
|
||||
# Microsoft Developer Studio Project File - Name="Python" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=Python - Win32 python23
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Python.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "Python.mak" CFG="Python - Win32 python23"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Python - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Python - Win32 oldpython" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Python - Win32 python21" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Python - Win32 python22" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE "Python - Win32 python23" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Python - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Python___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "Python___Win32_Release"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir ""
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "c:\Programme\Python20\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python15.lib /nologo /dll /debug /machine:I386 /out:"pdflib.dll" /pdbtype:sept
|
||||
# SUBTRACT BASE LINK32 /nodefaultlib
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python20.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"pdflib_py.dll" /libpath:"c:\programme\python20\libs" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug /nodefaultlib
|
||||
|
||||
!ELSEIF "$(CFG)" == "Python - Win32 oldpython"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Python___Win32_oldpython"
|
||||
# PROP BASE Intermediate_Dir "Python___Win32_oldpython"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "oldpython"
|
||||
# PROP Intermediate_Dir "oldpython"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "c:\Programme\Python 1.5.2\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "c:\Programme\Python 1.5.2\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python15.lib libpng.lib libtiff.lib zlib.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"pdflib_py.dll" /libpath:"..\..\..\..\libs\zlib" /libpath:"c:\programme\python 1.5.2\libs" /libpath:"..\..\..\libs\pdflib" /libpath:"..\..\..\..\libs\libpng" /libpath:"..\..\..\..\libs\libtiff"
|
||||
# SUBTRACT BASE LINK32 /debug /nodefaultlib
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python15.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"oldpython/pdflib_py.dll" /libpath:"c:\programme\python 1.5.2\libs" /libpath:"..\..\..\libs\pdflib"
|
||||
# SUBTRACT LINK32 /debug /nodefaultlib
|
||||
|
||||
!ELSEIF "$(CFG)" == "Python - Win32 python21"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Python___Win32_python21"
|
||||
# PROP BASE Intermediate_Dir "Python___Win32_python21"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "python21"
|
||||
# PROP Intermediate_Dir "python21"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "D:\Programme\Python21\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "C:\Programme\Python21\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python15.lib libpng.lib libtiff.lib zlib.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"pdflib_py.dll" /libpath:"..\..\..\..\libs\zlib" /libpath:"c:\programme\python21\libs" /libpath:"..\..\..\libs\pdflib" /libpath:"..\..\..\..\libs\libpng" /libpath:"..\..\..\..\libs\libtiff"
|
||||
# SUBTRACT BASE LINK32 /debug /nodefaultlib
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python21.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"python21/pdflib_py.dll" /libpath:"C:\programme\python21\libs" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug /nodefaultlib
|
||||
|
||||
!ELSEIF "$(CFG)" == "Python - Win32 python22"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Python___Win32_python22"
|
||||
# PROP BASE Intermediate_Dir "Python___Win32_python22"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "python22"
|
||||
# PROP Intermediate_Dir "python22"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "C:\Programme\Python21\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "C:\Programme\Python22\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python21.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"python21/pdflib_py.dll" /libpath:"C:\programme\python21\libs" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT BASE LINK32 /debug /nodefaultlib
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python22.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"python22/pdflib_py.dll" /libpath:"C:\programme\python22\libs" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug /nodefaultlib
|
||||
|
||||
!ELSEIF "$(CFG)" == "Python - Win32 python23"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Python___Win32_python23"
|
||||
# PROP BASE Intermediate_Dir "Python___Win32_python23"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Python23"
|
||||
# PROP Intermediate_Dir "Python23"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /MT /W3 /O2 /I "C:\Programme\Python22\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD CPP /nologo /MT /W3 /O2 /I "C:\Programme\Python23\include" /I "..\..\..\libs\pdflib" /D "__WIN32__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "_MT" /D "PDFLIB_STATIC" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x407 /d "_DEBUG"
|
||||
# ADD RSC /l 0x407 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python22.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"python22/pdflib_py.dll" /libpath:"C:\programme\python22\libs" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT BASE LINK32 /debug /nodefaultlib
|
||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib python23.lib pdflib.lib /nologo /base:"0x55340000" /dll /pdb:none /machine:I386 /out:"python23/pdflib_py.dll" /libpath:"C:\programme\python23\libs" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /debug /nodefaultlib
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Python - Win32 Release"
|
||||
# Name "Python - Win32 oldpython"
|
||||
# Name "Python - Win32 python21"
|
||||
# Name "Python - Win32 python22"
|
||||
# Name "Python - Win32 python23"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib_py.c
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
84
src/libs/pdflib/bind/pdflib/python/businesscard.py
Normal file
84
src/libs/pdflib/bind/pdflib/python/businesscard.py
Normal file
@ -0,0 +1,84 @@
|
||||
#!/usr/bin/python
|
||||
# $Id: businesscard.py,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
#
|
||||
# PDFlib client: block processing example in Python
|
||||
#
|
||||
|
||||
from sys import *
|
||||
from pdflib_py import *
|
||||
|
||||
infile = "boilerplate.pdf"
|
||||
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
#
|
||||
# Note that this directory must also contain the LuciduxSans font outline
|
||||
# and metrics files.
|
||||
#
|
||||
searchpath = "../data"
|
||||
|
||||
data_name = [
|
||||
"name",
|
||||
"business.title",
|
||||
"business.address.line1",
|
||||
"business.address.city",
|
||||
"business.telephone.voice",
|
||||
"business.telephone.fax",
|
||||
"business.email",
|
||||
"business.homepage" ]
|
||||
|
||||
data_value = [
|
||||
"Victor Kraxi",
|
||||
"Chief Paper Officer",
|
||||
"17, Aviation Road",
|
||||
"Paperfield",
|
||||
"phone +1 234 567-89",
|
||||
"fax +1 234 567-98",
|
||||
"victor@kraxi.com",
|
||||
"www.kraxi.com" ]
|
||||
|
||||
BLOCKCOUNT = 8
|
||||
|
||||
p = PDF_new()
|
||||
|
||||
if PDF_open_file(p, "businesscard.pdf") == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
# Set the search path for fonts and PDF files
|
||||
PDF_set_parameter(p, "SearchPath", searchpath)
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter(p, "hypertextencoding", "winansi")
|
||||
|
||||
PDF_set_info(p, "Creator", "businesscard.c")
|
||||
PDF_set_info(p, "Author", "Thomas Merz")
|
||||
PDF_set_info(p, "Title","PDFlib block processing sample (C)")
|
||||
|
||||
blockcontainer = PDF_open_pdi(p, infile, "", 0)
|
||||
if blockcontainer == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
page = PDF_open_pdi_page(p, blockcontainer, 1, "")
|
||||
if page == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
PDF_begin_page(p, 20, 20) # dummy page size
|
||||
|
||||
# This will adjust the page size to the block container's size.
|
||||
PDF_fit_pdi_page(p, page, 0, 0, "adjustpage")
|
||||
|
||||
# Fill all text blocks with dynamic data
|
||||
for i in range(0, BLOCKCOUNT, 1):
|
||||
if PDF_fill_textblock(p, page, data_name[i], data_value[i], \
|
||||
"embedding encoding=winansi") == -1:
|
||||
print "Warning: " + PDF_get_errmsg(p) + "\n"
|
||||
|
||||
PDF_end_page(p) # close page */
|
||||
PDF_close_pdi_page(p, page)
|
||||
|
||||
PDF_close(p) # close PDF document */
|
||||
PDF_close_pdi(p, blockcontainer)
|
||||
|
||||
PDF_delete(p) # delete the PDFlib object
|
95
src/libs/pdflib/bind/pdflib/python/chartab.py
Normal file
95
src/libs/pdflib/bind/pdflib/python/chartab.py
Normal file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/python
|
||||
# $Id: chartab.py,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
#
|
||||
# PDFlib client: hello character table in Python
|
||||
#
|
||||
|
||||
from sys import *
|
||||
from pdflib_py import *
|
||||
|
||||
# change these as required
|
||||
fontname = "LuciduxSans-Oblique"
|
||||
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
searchpath = "../data"
|
||||
|
||||
# list of encodings to use
|
||||
encoding = ["iso8859-1", "iso8859-2", "iso8859-15"]
|
||||
|
||||
# whether or not to embed the font
|
||||
embed = ""
|
||||
# embed = "not "
|
||||
embedding = "embedding"
|
||||
# embedding = ""
|
||||
|
||||
ENCODINGS = 3
|
||||
FONTSIZE = 16
|
||||
TOP = 700
|
||||
LEFT = 50
|
||||
YINCR = 2*FONTSIZE
|
||||
XINCR = 2*FONTSIZE
|
||||
|
||||
# create a new PDFlib object
|
||||
p = PDF_new()
|
||||
|
||||
# open new PDF file
|
||||
if PDF_open_file(p, "chartab.pdf") == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
PDF_set_parameter(p, "openaction", "fitpage")
|
||||
PDF_set_parameter(p, "fontwarning", "true")
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath)
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter(p, "hypertextencoding", "winansi")
|
||||
|
||||
PDF_set_info(p, "Creator", "chartab.c")
|
||||
PDF_set_info(p, "Author", "Thomas Merz")
|
||||
PDF_set_info(p, "Title", "Character table (C)")
|
||||
|
||||
# loop over all encodings
|
||||
for page in range(0, ENCODINGS, 1):
|
||||
PDF_begin_page(p, 595, 842) # start a new page
|
||||
|
||||
# print the heading and generate the bookmark
|
||||
font = PDF_load_font(p, "Helvetica", "winansi", "")
|
||||
PDF_setfont(p, font, FONTSIZE)
|
||||
buf = fontname + " (" + encoding[page] + ") " + embed + "embedded"
|
||||
|
||||
PDF_show_xy(p, buf, LEFT - XINCR, TOP + 3 * YINCR)
|
||||
PDF_add_bookmark(p, buf, 0, 0)
|
||||
|
||||
# print the row and column captions
|
||||
PDF_setfont(p, font, 2 * FONTSIZE/3)
|
||||
|
||||
for row in range(0, 16, 1):
|
||||
buf = "x" + repr(row)
|
||||
PDF_show_xy(p, buf, LEFT + row*XINCR, TOP + YINCR)
|
||||
|
||||
buf = "x" + repr(row)
|
||||
PDF_show_xy(p, buf, LEFT - XINCR, TOP - row * YINCR)
|
||||
|
||||
# print the character table
|
||||
font = PDF_load_font(p, fontname, encoding[page], embedding)
|
||||
PDF_setfont(p, font, FONTSIZE)
|
||||
|
||||
y = TOP
|
||||
x = LEFT
|
||||
|
||||
for row in range(0, 16, 1):
|
||||
for col in range(0, 16, 1):
|
||||
val = (16*row + col)
|
||||
if val != 0:
|
||||
buf = chr(val)
|
||||
PDF_show_xy(p, buf, x, y)
|
||||
x += XINCR
|
||||
x = LEFT
|
||||
y -= YINCR
|
||||
|
||||
PDF_end_page(p) # close page
|
||||
|
||||
PDF_close(p) # close PDF document
|
||||
|
||||
PDF_delete(p) # delete the PDFlib object
|
37
src/libs/pdflib/bind/pdflib/python/hello.py
Normal file
37
src/libs/pdflib/bind/pdflib/python/hello.py
Normal file
@ -0,0 +1,37 @@
|
||||
#!/usr/bin/python
|
||||
# $Id: hello.py,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
#
|
||||
# PDFlib client: hello example in Python
|
||||
#
|
||||
|
||||
from sys import *
|
||||
from pdflib_py import *
|
||||
|
||||
# create a new PDFlib object
|
||||
p = PDF_new()
|
||||
|
||||
# open new PDF file
|
||||
if PDF_open_file(p, "hello.pdf") == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter(p, "hypertextencoding", "winansi")
|
||||
|
||||
PDF_set_info(p, "Author", "Thomas Merz")
|
||||
PDF_set_info(p, "Creator", "hello.py")
|
||||
PDF_set_info(p, "Title", "Hello world (Python)")
|
||||
|
||||
PDF_begin_page(p, 595, 842) # start a new page
|
||||
|
||||
font = PDF_load_font(p, "Helvetica-Bold", "winansi", "")
|
||||
|
||||
PDF_setfont(p, font, 24)
|
||||
PDF_set_text_pos(p, 50, 700)
|
||||
PDF_show(p, "Hello world!")
|
||||
PDF_continue_text(p, "(says Python)")
|
||||
PDF_end_page(p) # close page
|
||||
|
||||
PDF_close(p) # close PDF document
|
||||
|
||||
PDF_delete(p) # delete the PDFlib object
|
45
src/libs/pdflib/bind/pdflib/python/image.py
Normal file
45
src/libs/pdflib/bind/pdflib/python/image.py
Normal file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/python
|
||||
# $Id: image.py,v 1.1 2004/10/06 17:46:43 laplace Exp $
|
||||
#
|
||||
# PDFlib client: image example in Python
|
||||
#
|
||||
|
||||
from sys import *
|
||||
from pdflib_py import *
|
||||
|
||||
imagefile = "nesrin.jpg"
|
||||
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
searchpath = "../data"
|
||||
|
||||
|
||||
p = PDF_new()
|
||||
|
||||
if PDF_open_file(p, "image.pdf") == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath)
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter(p, "hypertextencoding", "winansi")
|
||||
|
||||
PDF_set_info(p, "Creator", "image.py")
|
||||
PDF_set_info(p, "Author", "Thomas Merz")
|
||||
PDF_set_info(p, "Title", "image sample (Python)")
|
||||
|
||||
image = PDF_load_image(p, "auto", imagefile, "")
|
||||
|
||||
if image == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(3)
|
||||
|
||||
# dummy page size, will be adjusted by PDF_fit_image()
|
||||
PDF_begin_page(p, 10, 10)
|
||||
PDF_fit_image(p, image, 0, 0, "adjustpage")
|
||||
PDF_close_image(p, image)
|
||||
PDF_end_page(p) # close page
|
||||
|
||||
PDF_close(p) # close PDF document
|
||||
|
||||
PDF_delete(p)
|
161
src/libs/pdflib/bind/pdflib/python/invoice.py
Normal file
161
src/libs/pdflib/bind/pdflib/python/invoice.py
Normal file
@ -0,0 +1,161 @@
|
||||
#!/usr/bin/python
|
||||
# $Id: invoice.py,v 1.1 2004/10/06 17:46:44 laplace Exp $
|
||||
#
|
||||
# PDFlib client: invoice generation demo
|
||||
#
|
||||
|
||||
from sys import *
|
||||
import time
|
||||
import fpformat
|
||||
from pdflib_py import *
|
||||
|
||||
infile = "stationery.pdf"
|
||||
|
||||
# This is where font/image/PDF input files live. Adjust as necessary.
|
||||
searchpath = "../data"
|
||||
|
||||
col1 = 55
|
||||
col2 = 100
|
||||
col3 = 330
|
||||
col4 = 430
|
||||
col5 = 530
|
||||
fontsize = 12
|
||||
pagewidth = 595
|
||||
pageheight = 842
|
||||
closingtext = \
|
||||
"30 days warranty starting at the day of sale. " +\
|
||||
"This warranty covers defects in workmanship only. " +\
|
||||
"Kraxi Systems, Inc. will, at its option, repair or replace the " +\
|
||||
"product under the warranty. This warranty is not transferable. " +\
|
||||
"No returns or exchanges will be accepted for wet products."
|
||||
|
||||
data_name = [
|
||||
"Super Kite",
|
||||
"Turbo Flyer",
|
||||
"Giga Trash",
|
||||
"Bare Bone Kit",
|
||||
"Nitty Gritty",
|
||||
"Pretty Dark Flyer",
|
||||
"Free Gift" ]
|
||||
data_price = [ 20, 40, 180, 50, 20, 75, 0]
|
||||
data_quantity = [ 2, 5, 1, 3, 10, 1, 1]
|
||||
|
||||
|
||||
ARTICLECOUNT = 6
|
||||
|
||||
p = PDF_new()
|
||||
|
||||
PDF_set_parameter(p, "tracefile", "invoice.trace")
|
||||
PDF_set_parameter(p, "debug", "t")
|
||||
# open new PDF file
|
||||
if PDF_open_file(p, "invoice.pdf") == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
PDF_set_parameter(p, "SearchPath", searchpath)
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter(p, "hypertextencoding", "winansi")
|
||||
|
||||
PDF_set_info(p, "Creator", "invoice.c")
|
||||
PDF_set_info(p, "Author", "Thomas Merz")
|
||||
PDF_set_info(p, "Title", "PDFlib invoice generation demo (C)")
|
||||
|
||||
form = PDF_open_pdi(p, infile, "", 0)
|
||||
if form == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
page = PDF_open_pdi_page(p, form, 1, "")
|
||||
if page == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
boldfont = PDF_load_font(p, "Helvetica-Bold", "winansi", "")
|
||||
regularfont = PDF_load_font(p, "Helvetica", "winansi", "")
|
||||
leading = fontsize + 2
|
||||
|
||||
# Establish coordinates with the origin in the upper left corner.
|
||||
PDF_set_parameter(p, "topdown", "true")
|
||||
|
||||
PDF_begin_page(p, pagewidth, pageheight) # A4 page
|
||||
|
||||
PDF_fit_pdi_page(p, page, 0, pageheight, "")
|
||||
PDF_close_pdi_page(p, page)
|
||||
|
||||
PDF_setfont(p, regularfont, fontsize)
|
||||
|
||||
# Print the address
|
||||
y = 170
|
||||
PDF_set_value(p, "leading", leading)
|
||||
|
||||
PDF_show_xy(p, "John Q. Doe", col1, y)
|
||||
PDF_continue_text(p, "255 Customer Lane")
|
||||
PDF_continue_text(p, "Suite B")
|
||||
PDF_continue_text(p, "12345 User Town")
|
||||
PDF_continue_text(p, "Everland")
|
||||
|
||||
# Print the header and date
|
||||
|
||||
PDF_setfont(p, boldfont, fontsize)
|
||||
y = 300
|
||||
PDF_show_xy(p, "INVOICE", col1, y)
|
||||
|
||||
buf = time.strftime("%x", time.gmtime(time.time()))
|
||||
PDF_fit_textline(p, buf, col5, y, "position {100 0}")
|
||||
|
||||
# Print the invoice header line
|
||||
PDF_setfont(p, boldfont, fontsize)
|
||||
|
||||
# "position {0 0}" is left-aligned, "position {100 0}" right-aligned
|
||||
y = 370
|
||||
PDF_fit_textline(p, "ITEM", col1, y, "position {0 0}")
|
||||
PDF_fit_textline(p, "DESCRIPTION", col2, y, "position {0 0}")
|
||||
PDF_fit_textline(p, "QUANTITY", col3, y, "position {100 0}")
|
||||
PDF_fit_textline(p, "PRICE", col4, y, "position {100 0}")
|
||||
PDF_fit_textline(p, "AMOUNT", col5, y, "position {100 0}")
|
||||
|
||||
# Print the article list
|
||||
|
||||
PDF_setfont(p, regularfont, fontsize)
|
||||
y += 2*leading
|
||||
total = 0
|
||||
|
||||
for i in range(0, ARTICLECOUNT, 1):
|
||||
buf = repr(i)
|
||||
i +=1
|
||||
PDF_show_xy(p, buf, col1, y)
|
||||
|
||||
PDF_show_xy(p, data_name[i], col2, y)
|
||||
|
||||
buf = repr(data_quantity[i])
|
||||
PDF_fit_textline(p, buf, col3, y, "position {100 0}")
|
||||
|
||||
buf = fpformat.fix(data_price[i], 2)
|
||||
PDF_fit_textline(p, buf, col4, y, "position {100 0}")
|
||||
|
||||
sum = data_price[i] * data_quantity[i]
|
||||
buf = fpformat.fix(sum, 2)
|
||||
PDF_fit_textline(p, buf, col5, y, "position {100 0}")
|
||||
|
||||
y += leading
|
||||
total += sum
|
||||
|
||||
y += leading
|
||||
PDF_setfont(p, boldfont, fontsize)
|
||||
buf = fpformat.fix(total, 2)
|
||||
PDF_fit_textline(p, buf, col5, y, "position {100 0}")
|
||||
|
||||
# Print the closing text
|
||||
|
||||
y += 5*leading
|
||||
PDF_setfont(p, regularfont, fontsize)
|
||||
PDF_set_value(p, "leading", leading)
|
||||
PDF_show_boxed(p, closingtext,
|
||||
col1, y + 4*leading, col5-col1, 4*leading, "justify", "")
|
||||
|
||||
PDF_end_page(p)
|
||||
PDF_close(p)
|
||||
PDF_close_pdi(p, form)
|
||||
|
||||
PDF_delete(p)
|
96
src/libs/pdflib/bind/pdflib/python/pdfclock.py
Normal file
96
src/libs/pdflib/bind/pdflib/python/pdfclock.py
Normal file
@ -0,0 +1,96 @@
|
||||
#!/usr/bin/python
|
||||
# $Id: pdfclock.py,v 1.1 2004/10/06 17:46:44 laplace Exp $
|
||||
#
|
||||
# PDFlib client: pdfclock example in Python
|
||||
#
|
||||
|
||||
from sys import *
|
||||
from time import *
|
||||
from pdflib_py import *
|
||||
|
||||
RADIUS = 200.0
|
||||
MARGIN = 20.0
|
||||
|
||||
p = PDF_new()
|
||||
|
||||
if PDF_open_file(p, "pdfclock.pdf") == -1:
|
||||
print "Error: " + PDF_get_errmsg(p) + "\n"
|
||||
exit(2)
|
||||
|
||||
# This line is required to avoid problems on Japanese systems
|
||||
PDF_set_parameter(p, "hypertextencoding", "winansi")
|
||||
|
||||
PDF_set_info(p, "Creator", "pdfclock.py")
|
||||
PDF_set_info(p, "Author", "Thomas Merz")
|
||||
PDF_set_info(p, "Title", "PDF clock (Python)")
|
||||
|
||||
PDF_begin_page(p, 2 * (RADIUS + MARGIN), 2 * (RADIUS + MARGIN))
|
||||
|
||||
PDF_translate(p, RADIUS + MARGIN, RADIUS + MARGIN)
|
||||
PDF_setcolor(p, "fillstroke", "rgb", 0.0, 0.0, 1.0, 0.0)
|
||||
PDF_save(p)
|
||||
|
||||
# minute strokes
|
||||
PDF_setlinewidth(p, 2.0)
|
||||
for alpha in range(0, 360, 6):
|
||||
PDF_rotate(p, 6.0)
|
||||
PDF_moveto(p, RADIUS, 0.0)
|
||||
PDF_lineto(p, RADIUS-MARGIN/3, 0.0)
|
||||
PDF_stroke(p)
|
||||
|
||||
PDF_restore(p)
|
||||
PDF_save(p)
|
||||
|
||||
# 5 minute strokes
|
||||
PDF_setlinewidth(p, 3.0)
|
||||
for alpha in range(0, 360, 30):
|
||||
PDF_rotate(p, 30.0)
|
||||
PDF_moveto(p, RADIUS, 0.0)
|
||||
PDF_lineto(p, RADIUS-MARGIN, 0.0)
|
||||
PDF_stroke(p)
|
||||
|
||||
(tm_year, tm_month, tm_day,
|
||||
tm_hour, tm_min, tm_sec,
|
||||
tm_weekday, tm_julian, tm_ds) = localtime(time())
|
||||
|
||||
# draw hour hand
|
||||
PDF_save(p)
|
||||
PDF_rotate(p, (-((tm_min/60.0) + tm_hour - 3.0) * 30.0))
|
||||
PDF_moveto(p, -RADIUS/10, -RADIUS/20)
|
||||
PDF_lineto(p, RADIUS/2, 0.0)
|
||||
PDF_lineto(p, -RADIUS/10, RADIUS/20)
|
||||
PDF_closepath(p)
|
||||
PDF_fill(p)
|
||||
PDF_restore(p)
|
||||
|
||||
# draw minute hand
|
||||
PDF_save(p)
|
||||
PDF_rotate(p, (-((tm_sec/60.0) + tm_min - 15.0) * 6.0))
|
||||
PDF_moveto(p, -RADIUS/10, -RADIUS/20)
|
||||
PDF_lineto(p, RADIUS * 0.8, 0.0)
|
||||
PDF_lineto(p, -RADIUS/10, RADIUS/20)
|
||||
PDF_closepath(p)
|
||||
PDF_fill(p)
|
||||
PDF_restore(p)
|
||||
|
||||
# draw second hand
|
||||
PDF_setcolor(p, "fillstroke", "rgb", 1.0, 0.0, 0.0, 0.0)
|
||||
PDF_setlinewidth(p, 2)
|
||||
PDF_save(p)
|
||||
PDF_rotate(p, -((tm_sec - 15.0) * 6.0))
|
||||
PDF_moveto(p, -RADIUS/5, 0.0)
|
||||
PDF_lineto(p, RADIUS, 0.0)
|
||||
PDF_stroke(p)
|
||||
PDF_restore(p)
|
||||
|
||||
# draw little circle at center
|
||||
PDF_circle(p, 0, 0, RADIUS/30)
|
||||
PDF_fill(p)
|
||||
|
||||
PDF_restore(p)
|
||||
|
||||
PDF_end_page(p)
|
||||
|
||||
PDF_close(p)
|
||||
|
||||
PDF_delete(p) # delete the PDFlib object
|
3248
src/libs/pdflib/bind/pdflib/python/pdflib_py.c
Normal file
3248
src/libs/pdflib/bind/pdflib/python/pdflib_py.c
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user