You may want to check the "notify" field on the print document properties in 
Windows; this field is usually used to mark the user when a job is printed 
through a process account.  I don't think it's possible to change the owner.
Thanks,
Marc 


On Feb 6, 2012, at 1:53 PM, Mike Kuindersma wrote:

> I'm using PDFBox-1.6.0 on Windows XP SP3 with Sun JRE 1.6.0_24.
> 
> 
> The following code fragment prints the target PDF and the job shows up in the 
> Windows print queue with the proper Document Name but the Owner field shows 
> the userID of the User that launches the program, not the text I requested 
> "Requesting User Name".
> 
> Is there a way to get what I want?  Am I doing it wrong?
> 
> 
>         PDDocument pdDoc = null;
>         try
>         {
>             pdDoc = PDDocument.load( "C:\\automatic-heap-sizing.pdf" );
>             
>             PrinterJob printerJob = PrinterJob.getPrinterJob();
>             
> 
> 
>             PrintService printService = null;
>             PrintService[] printServices = PrinterJob.lookupPrintServices();
> 
>             for( PrintService tPS : printServices )
>             {
>                 if( tPS.getName().equals( "Samsung ML-4550 Series PCL 6" ) )
>                 {
>                     printService = tPS;
>                     break;
>                 }
>             }
> 
>             if( printService == null )
>             {
>                 System.out.println( "Unable to locate specified PrintService 
> - cannot print!" );
>             }
>             else
>             {
>                 printerJob.setPrintService( printService );
>                 
>                 printerJob.setJobName( "automatic-heap-sizing.pdf" );
>                 
>                 PrintRequestAttributeSet as = new 
> HashPrintRequestAttributeSet();
>                 as.add( new RequestingUserName( "Requesting User Name", 
> Locale.getDefault() ) );
>                 
>                 printerJob.setPageable( new PDPageable( pdDoc, printerJob ) );
>                 
>                 printerJob.print( as );
>             }
>         }
>         catch( IOException ioe )
>         {
>             System.out.println( "Caught IOException: " + 
> ioe.getClass().getName() + " - " + ioe.getMessage() );
>         }
>         catch( PrinterException pe )
>         {
>             System.out.println( "Caught PrinterException: " + 
> pe.getClass().getName() + " - " + pe.getMessage() );
>         }
>         catch( Throwable t )
>         {
>             System.out.println( "Caught Throwable: " + t.getClass().getName() 
> + " - " + t.getMessage() );
>         }
>         finally
>         {
>             if( pdDoc != null )
>             {
>                 try
>                 {
>                     pdDoc.close();
>                 }
>                 catch( Throwable t )
>                 {
>                     System.out.println( "Caught Throwable: " + 
> t.getClass().getName() + " - " + t.getMessage() );
>                 }
>             }
>         }
> 
> 
> 
> Regards,
> Mike Kuindersma
> mkuinder _at_ rogers.com

Reply via email to