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@9229 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
b86ab0a9dd
commit
9f61371bd2
11
src/libs/pdflib/bind/pdflib/Makefile
Normal file
11
src/libs/pdflib/bind/pdflib/Makefile
Normal file
@ -0,0 +1,11 @@
|
||||
# PDFlib bindings Makefile
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
|
||||
include ../../config/mkcommon.inc
|
||||
|
||||
SUB_DIRS = $(BINDINGS)
|
||||
|
||||
include ../../config/mksubdirs.inc
|
||||
|
||||
distclean::
|
||||
-$(RM) php/Makefile.in
|
76
src/libs/pdflib/bind/pdflib/java/Java.dsp
Normal file
76
src/libs/pdflib/bind/pdflib/java/Java.dsp
Normal file
@ -0,0 +1,76 @@
|
||||
# Microsoft Developer Studio Project File - Name="Java" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=Java - Win32 Release
|
||||
!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 "Java.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 "Java.mak" CFG="Java - Win32 Release"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Java - Win32 Release" (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
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Java___Win32_Release"
|
||||
# PROP BASE Intermediate_Dir "Java___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 "_DEBUG" /D "_MBCS" /YX /FD /GZ /c
|
||||
# ADD CPP /nologo /Gz /MT /W3 /O2 /I "c:\jdk1.3\include" /I "c:\jdk1.3\include\win32" /I "..\..\..\libs\pdflib" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /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 /nologo /dll /debug /machine:I386 /out:"pdf_java.dll" /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 /base:"0x55320000" /dll /pdb:none /machine:I386 /out:"pdf_java.dll" /libpath:"..\..\..\libs\pdflib\Release"
|
||||
# SUBTRACT LINK32 /map /debug
|
||||
# Begin Special Build Tool
|
||||
SOURCE="$(InputPath)"
|
||||
PostBuild_Desc=Creating jar file and documentation...
|
||||
PostBuild_Cmds=c:\jdk1.3\bin\javac PDFlibException.java pdflib.java rmdir /s /q com mkdir com\pdflib copy pdflib.class com\pdflib copy PDFlibException.class com\pdflib c:\jdk1.3\bin\jar cvf pdflib.jar com/pdflib/PDFlibException.class com/pdflib/pdflib.class rmdir /s /q javadoc mkdir javadoc c:\jdk1.3\bin\javadoc -notree -author -version -d javadoc -public pdflib.java
|
||||
# End Special Build Tool
|
||||
# Begin Target
|
||||
|
||||
# Name "Java - Win32 Release"
|
||||
# Begin Group "Source Files"
|
||||
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\pdflib_java.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
|
89
src/libs/pdflib/bind/pdflib/java/Makefile
Normal file
89
src/libs/pdflib/bind/pdflib/java/Makefile
Normal file
@ -0,0 +1,89 @@
|
||||
# Makefile for PDFlib's Java binding
|
||||
# $Id: Makefile,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
|
||||
top_builddir = ../../..
|
||||
|
||||
include $(top_builddir)/config/mkcommon.inc
|
||||
PDFPEDANTIC =
|
||||
|
||||
LIBS = $(PDFLIBLINK)
|
||||
INCLUDES = $(PDFLIBINC) $(JAVAINCLUDE)
|
||||
|
||||
LANG_LIBDIR = $(libdir)
|
||||
|
||||
LIBNAME = libpdf_java$(LA)
|
||||
OBJ = pdflib_java$(LO)
|
||||
SRC = pdflib_java.c
|
||||
|
||||
TESTPROGS = \
|
||||
hello.class \
|
||||
image.class \
|
||||
pdfclock.class \
|
||||
chartab.class \
|
||||
invoice.class \
|
||||
businesscard.class \
|
||||
quickreference.class
|
||||
|
||||
include $(top_builddir)/config/mkbind.inc
|
||||
|
||||
.SUFFIXES: .java .class
|
||||
|
||||
.java.class:
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. javac $<
|
||||
|
||||
|
||||
all:: pdflib.jar
|
||||
|
||||
pdflib.jar:: pdflib.java PDFlibException.java
|
||||
$(RM) com
|
||||
mkdir -p com/pdflib
|
||||
javac PDFlibException.java pdflib.java && mv pdflib.class com/pdflib\
|
||||
&& mv PDFlibException.class com/pdflib/PDFlibException.class
|
||||
jar cvf pdflib.jar com/pdflib/pdflib.class \
|
||||
com/pdflib/PDFlibException.class
|
||||
$(RM) com
|
||||
|
||||
javadoc::
|
||||
$(RM) javadoc
|
||||
mkdir javadoc
|
||||
-javadoc -notree -author -version -d javadoc -public \
|
||||
pdflib.java PDFlibException.java
|
||||
|
||||
test:: $(LIBNAME) pdflib.jar $(TESTPROGS)
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java hello
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java image
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java pdfclock
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java chartab
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java invoice
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java businesscard
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java quickreference
|
||||
|
||||
smoke:: test smoketest.class
|
||||
-CLASSPATH=$$CLASSPATH:pdflib.jar:. $(LIBTOOL_EXE) java smoketest
|
||||
|
||||
install:: $(LIBNAME) pdflib.jar
|
||||
@-if test -f .libs/libpdf_java.jnilib; then \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_DATA) \
|
||||
.libs/libpdf_java.jnilib $(LANG_LIBDIR); \
|
||||
else \
|
||||
$(LIBTOOL) --mode=install $(INSTALL_DATA) \
|
||||
$(LIBNAME) $(LANG_LIBDIR); \
|
||||
fi
|
||||
@echo Copy pdflib.jar and javadoc to an appropriate directory,
|
||||
@echo and include pdflib.jar in your CLASSPATH.
|
||||
|
||||
uninstall::
|
||||
@-if test -f .libs/libpdf_java.jnilib; then \
|
||||
$(LIBTOOL) --mode=uninstall $(RM) \
|
||||
$(LANG_LIBDIR)/libpdf_java.jnilib; \
|
||||
else \
|
||||
$(LIBTOOL) --mode=uninstall $(RM) \
|
||||
$(LANG_LIBDIR)/$(LIBNAME); \
|
||||
fi
|
||||
|
||||
clean::
|
||||
$(RM) *.class com pdflib.jar javadoc smoke_c_?.pdf
|
||||
$(RM) hello.pdf image.pdf pdfclock.pdf chartab.pdf invoice.pdf
|
||||
$(RM) businesscard.pdf quickreference.pdf
|
||||
|
||||
# Automatically generated dependencies
|
59
src/libs/pdflib/bind/pdflib/java/PDFlibException.java
Normal file
59
src/libs/pdflib/bind/pdflib/java/PDFlibException.java
Normal file
@ -0,0 +1,59 @@
|
||||
/*---------------------------------------------------------------------------*
|
||||
| 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: PDFlibException.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlibException Java class
|
||||
*/
|
||||
|
||||
package com.pdflib;
|
||||
|
||||
/** PDFlib - A library for generating PDF on the fly
|
||||
|
||||
Exception handling for PDFlib.
|
||||
@author Rainer Schaaf
|
||||
@version 5.0.3
|
||||
*/
|
||||
|
||||
public class PDFlibException extends Exception {
|
||||
public PDFlibException() {
|
||||
super();
|
||||
}
|
||||
|
||||
public PDFlibException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
public PDFlibException(String msg, int errnum, String apiname) {
|
||||
super(msg);
|
||||
pdf_errnum = errnum;
|
||||
pdf_apiname = apiname;
|
||||
}
|
||||
|
||||
/** Map standard getMessage method to get_errmsg. */
|
||||
public String get_errmsg() {
|
||||
return super.getMessage();
|
||||
}
|
||||
|
||||
/** Get the error number of the exception. */
|
||||
public int get_errnum() {
|
||||
return pdf_errnum;
|
||||
}
|
||||
|
||||
/** Get the name of the API function which caused the exception. */
|
||||
public String get_apiname() {
|
||||
return pdf_apiname;
|
||||
}
|
||||
|
||||
private int pdf_errnum;
|
||||
private String pdf_apiname;
|
||||
}
|
90
src/libs/pdflib/bind/pdflib/java/businesscard.java
Normal file
90
src/libs/pdflib/bind/pdflib/java/businesscard.java
Normal file
@ -0,0 +1,90 @@
|
||||
/* $Id: businesscard.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlib client: hello example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class businesscard
|
||||
{
|
||||
public static void main (String argv[])
|
||||
{
|
||||
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" },
|
||||
};
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
// open new PDF file
|
||||
if (p.open_file("businesscard.pdf") == -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);
|
||||
|
||||
} 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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
124
src/libs/pdflib/bind/pdflib/java/chartab.java
Normal file
124
src/libs/pdflib/bind/pdflib/java/chartab.java
Normal file
@ -0,0 +1,124 @@
|
||||
/* $Id: chartab.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlib client: character table
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class chartab
|
||||
{
|
||||
/* 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 static void main (String argv[])
|
||||
{
|
||||
|
||||
/* whether or not to embed the font */
|
||||
int embed = 1;
|
||||
|
||||
String buf;
|
||||
float x, y;
|
||||
int row, col, font, page;
|
||||
|
||||
pdflib p = null ;
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
/* open new PDF file */
|
||||
if (p.open_file("chartab.pdf") == -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", "chartab.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Character table (Java)");
|
||||
|
||||
/* 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 */
|
||||
|
||||
} 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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
54
src/libs/pdflib/bind/pdflib/java/hello.java
Normal file
54
src/libs/pdflib/bind/pdflib/java/hello.java
Normal file
@ -0,0 +1,54 @@
|
||||
/* $Id: hello.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlib client: hello example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class hello
|
||||
{
|
||||
public static void main (String argv[])
|
||||
{
|
||||
int font;
|
||||
pdflib p = null;
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
/* open new PDF file */
|
||||
if (p.open_file("hello.pdf") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_info("Creator", "hello.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "Hello world (Java)!");
|
||||
|
||||
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)");
|
||||
p.end_page(); /* close page */
|
||||
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
} 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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
61
src/libs/pdflib/bind/pdflib/java/image.java
Normal file
61
src/libs/pdflib/bind/pdflib/java/image.java
Normal file
@ -0,0 +1,61 @@
|
||||
/* $Id: image.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlib client: image example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class image
|
||||
{
|
||||
public static void main (String argv[])
|
||||
{
|
||||
int image;
|
||||
float width, height;
|
||||
pdflib p = null;
|
||||
String imagefile = "nesrin.jpg";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
|
||||
try{
|
||||
|
||||
p = new pdflib();
|
||||
/* open new PDF file */
|
||||
if (p.open_file("image.pdf") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "image.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "image sample (Java)");
|
||||
|
||||
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(); /* close page */
|
||||
|
||||
p.close(); /* close PDF document */
|
||||
|
||||
} 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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
169
src/libs/pdflib/bind/pdflib/java/invoice.java
Normal file
169
src/libs/pdflib/bind/pdflib/java/invoice.java
Normal file
@ -0,0 +1,169 @@
|
||||
/* $Id: invoice.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlib client: invoice example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import java.text.*; // DateFormat
|
||||
import java.util.*; // Date
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class invoice
|
||||
{
|
||||
public static void main (String argv[])
|
||||
{
|
||||
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);
|
||||
|
||||
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();
|
||||
|
||||
// open new PDF file
|
||||
if (p.open_file("invoice.pdf") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "invoice.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "PDFlib invoice generation demo (Java)");
|
||||
|
||||
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);
|
||||
|
||||
} 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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
121
src/libs/pdflib/bind/pdflib/java/pdfclock.java
Normal file
121
src/libs/pdflib/bind/pdflib/java/pdfclock.java
Normal file
@ -0,0 +1,121 @@
|
||||
/* $Id: pdfclock.java,v 1.1 2004/10/06 17:16:51 laplace Exp $
|
||||
*
|
||||
* PDFlib client: pdfclock example in Java
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import java.text.*; // SimpleDateFormat
|
||||
import java.util.*; // Date
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class pdfclock
|
||||
{
|
||||
public static void main (String argv[])
|
||||
{
|
||||
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();
|
||||
/* open new PDF file */
|
||||
if (p.open_file("pdfclock.pdf") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_info("Creator", "pdfclock.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "PDF clock (Java)");
|
||||
|
||||
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();
|
||||
|
||||
} 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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1589
src/libs/pdflib/bind/pdflib/java/pdflib.java
Normal file
1589
src/libs/pdflib/bind/pdflib/java/pdflib.java
Normal file
File diff suppressed because it is too large
Load Diff
3092
src/libs/pdflib/bind/pdflib/java/pdflib_java.c
Normal file
3092
src/libs/pdflib/bind/pdflib/java/pdflib_java.c
Normal file
File diff suppressed because it is too large
Load Diff
97
src/libs/pdflib/bind/pdflib/java/quickreference.java
Normal file
97
src/libs/pdflib/bind/pdflib/java/quickreference.java
Normal file
@ -0,0 +1,97 @@
|
||||
/* $Id: quickreference.java,v 1.1 2004/10/06 17:16:52 laplace Exp $
|
||||
*
|
||||
* PDFlib/PDI client: mini imposition demo
|
||||
*/
|
||||
|
||||
import java.io.*;
|
||||
import com.pdflib.pdflib;
|
||||
import com.pdflib.PDFlibException;
|
||||
|
||||
public class quickreference
|
||||
{
|
||||
public static void main (String argv[])
|
||||
{
|
||||
int manual, page;
|
||||
int font, row, col;
|
||||
final int maxrow = 2, maxcol = 2;
|
||||
int i, startpage = 1, endpage = 4;
|
||||
final float width = 500, height = 770;
|
||||
int pageno;
|
||||
pdflib p = null;
|
||||
String infile = "reference.pdf";
|
||||
/* This is where font/image/PDF input files live. Adjust as necessary.*/
|
||||
String searchpath = "../data";
|
||||
|
||||
try{
|
||||
p = new pdflib();
|
||||
|
||||
if (p.open_file("quickreference.pdf") == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
p.set_parameter("SearchPath", searchpath);
|
||||
|
||||
p.set_info("Creator", "quickreference.java");
|
||||
p.set_info("Author", "Thomas Merz");
|
||||
p.set_info("Title", "imposition demo (Java)");
|
||||
|
||||
manual = p.open_pdi(infile, "", 0);
|
||||
if (manual == -1) {
|
||||
throw new Exception("Error: " + p.get_errmsg());
|
||||
}
|
||||
|
||||
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", "winansi", "");
|
||||
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) {
|
||||
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(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 (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 */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user