Printing a document
Karthik Pattabhiraman (pkarthik@wipsys.soft.net)
Wed, 28 Jul 1999 20:00:58 +0530
From: "Karthik Pattabhiraman" <pkarthik@wipsys.soft.net>
To: <java-security@web2.javasoft.com>
Subject: Printing a document
Date: Wed, 28 Jul 1999 20:00:58 +0530
------=_NextPart_000_0027_01BED933.E89FD160
Content-Type: multipart/alternative; boundary="----=_NextPart_001_0028_01BED933.E89FD160"
X-Sun-Content-Length: 5703
------=_NextPart_001_0028_01BED933.E89FD160
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello,
I am developing an Internet application using Netscape Application =
Server using Java, JavaScripts and Oracle. I have a unique problem now.
I have implemented the Java Printing API for printing the details =
that I need. This programs works standalone with dummy details. Now, =
when I incorporated this code in the Netscape Application Server which =
is running in NT, I am getting a security exception as follows
****************
java.lang.UnsatisfiedLinkError: doPrivileged doPrivileged
java.lang.UnsatisfiedLinkError: doPrivileged
at java.awt.print.PrinterJob.getPrinterJob(PrinterJob.java:42)
at webtraq.Document.printSetUp(Document.java:298)
at webtraq.Document.setUp(Document.java:272)
at webtraq.Document.processBugDetails(Document.java:214)
at webtraq.Document.execute(Document.java:81)
at com.kivasoft.applogic.AppLogic.execute(AppLogic.java:1201)
at com.kivasoft.applogic.AppLogic.execute(AppLogic.java:1109)
at java.lang.Thread.run(Thread.java:474)
***************
I have a policy file also which is as follows
********
grant {
permission java.security.AllPermission;
};
************
But I am still facing the error. The java program is attached with this =
mail. The setUp method is basically is called from the GUI. When the =
option print is given, then the string one is added to the vector and =
the printing is done and the all option prints all the details that are =
displayed in the GUI. A part of the code is customized to suit my =
requirement. The only problem now is the security.
Can you please help me with this?
Eagerly awaiting a reply from you.
Thanks
karthik
-------------------------------------------------------
P.Karthik
Senior Systems Engineer
e-mail: pkarthik@wipsys.soft.net
ph: (080)8520408 extn:1209.
--------------------------------------------------------
------=_NextPart_001_0028_01BED933.E89FD160
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Hello,
I am =
developing an=20
Internet application using Netscape Application Server using Java, =
JavaScripts=20
and Oracle. I have a unique problem now.
I have implemented =
the Java=20
Printing API for printing the details that I need. This programs works=20
standalone with dummy details. Now, when I incorporated this code in the =
Netscape Application Server which is running in NT, I am getting a =
security=20
exception as follows
****************
java.lang.UnsatisfiedLinkError: =
doPrivileged doPrivileged
java.lang.UnsatisfiedLinkError:=20
doPrivileged
at=20
java.awt.print.PrinterJob.getPrinterJob(PrinterJob.java:42)
&nbs=
p; =20
at webtraq.Document.printSetUp(Document.java:298)
=
at=20
webtraq.Document.setUp(Document.java:272)
at=20
webtraq.Document.processBugDetails(Document.java:214)
&nbs=
p; at=20
webtraq.Document.execute(Document.java:81)
at=20
com.kivasoft.applogic.AppLogic.execute(AppLogic.java:1201)
 =
; =20
at=20
com.kivasoft.applogic.AppLogic.execute(AppLogic.java:1109)
 =
; =20
at java.lang.Thread.run(Thread.java:474)
***************
I have a policy file also which =
is as=20
follows
********
grant {
permission=20
java.security.AllPermission;
};
************
But I am still facing the =
error. The java=20
program is attached with this mail. The setUp method is basically is =
called from=20
the GUI. When the option print is given, then the string one is =
added to=20
the vector and the printing is done and the all option prints all the =
details=20
that are displayed in the GUI. A part of the code is customized to suit =
my=20
requirement. The only problem now is the security.
Can you please help me with=20
this?
Eagerly awaiting a reply from=20
you.
Thanks
karthik
-------------------------------------------------------
P=
.Karthik
Senior=20
Systems Engineer
e-mail: pkarthik@wipsys.soft.net
=
ph:=20
(080)8520408 =20
extn:1209.
--------------------------------------------------------
------=_NextPart_001_0028_01BED933.E89FD160--
------=_NextPart_000_0027_01BED933.E89FD160
Content-Type: application/octet-stream; name="PrintableImpl.java"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="PrintableImpl.java"
X-Sun-Content-Length: 3298
import java.awt.*;
import java.awt.print.*;
import java.util.Vector;
public class PrintableImpl implements Printable {
private static Font helveticaBold =3D new =
Font("Helvetica-Bold",Font.PLAIN,10);
Book book;
Paper paper;
PageFormat pageformat;
int pageIndex =3D 0;
Vector v;
public int print(Graphics graphics,PageFormat pf , int pageIndex) =
throws PrinterException {
graphics.setFont(helveticaBold);
graphics.setColor(Color.red);
String s =3D (String)v.lastElement();
if(s.equals("all")) {
int y =3D (int)pf.getImageableY();
int x =3D (int)pf.getImageableX();
System.out.println("Imageablex " +x);
y+=3D10;
x+=3D10;
for(int i =3D 0 ; i < v.size() ; i++)
{
if(((i%7)=3D=3D0)) {
x =3D (int)pf.getImageableX()+10;
y +=3D 20;
}
graphics.drawString((String)v.elementAt(i),x,y);
x+=3D((String)v.elementAt(i)).length()+80;
}
} else if(s.equals("one")) {
int y =3D (int)pf.getImageableY();
int x =3D (int)pf.getImageableX();
System.out.println("Imageablex " +x);
y+=3D10;
x+=3D10;
for(int i =3D 0 ; i < v.size() ; i++)
{
if(((i%2)=3D=3D0)) {
x =3D (int)pf.getImageableX()+40;
y +=3D 40;
}
graphics.drawString((String)v.elementAt(i),x,y);
x+=3D((String)v.elementAt(i)).length()+200;
}
}
return Printable.PAGE_EXISTS;
}
public void setUp(Vector v,String str) {
this.v =3D v;
v.addElement(str);
}
public void printSetUp(Printable pl) {
try {
book =3D new Book();
paper =3D new Paper();
paper.setSize(400,400);
pageformat =3D new PageFormat();
int pgft=3D0;
if(pgft=3D=3D PageFormat.LANDSCAPE)
{
paper.setImageableArea(15,10,775,540);
pageformat.setOrientation(PageFormat.PORTRAIT);
}
else if (pgft=3D=3D PageFormat.PORTRAIT)
{
paper.setImageableArea(15,45,540,750);
pageformat.setOrientation(PageFormat.PORTRAIT);
}
//pageformat.setOrientation(PageFormat.PORTRAIT);
pageformat.setPaper(paper);
book.append(pl,pageformat,1);
PrinterJob pj =3D PrinterJob.getPrinterJob();
//pj.printDialog();
pj.setPrintable(pl,pageformat);
pj.setPageable(book);
System.out.println("Printing ..............");
if(pj.printDialog()) {
try {
pj.print();
} catch(Exception e1) {
e1.printStackTrace();
}
} else {
System.out.println("Printing cancelled");
}
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
PrintableImpl pl =3D new PrintableImpl();
pl.printSetUp(pl);
}
------=_NextPart_000_0027_01BED933.E89FD160--