Hi Team,
I want to automatically print the PDF by appending the following string in
the input_stream before *ghost script *command executes and generate pdf in
output_stream.
String : -
%AUTOPRINT[ /_objdef {PrintAction} /type /dict /OBJ pdfmark[
{PrintAction} << /Type /Action /S /Named /N /Print >> /PUT pdfmark[
{Catalog} << /OpenAction {PrintAction} >> /PUT pdfmark
If I append it in file.ps and then run gs script then it works and
file.pdf automatically print the PDF but I cannot do that with
guacamole as gs is sending output as stream with "-sOutputFile=-" and
taking input from input_stream.
gs -q -dNOPAUSE -dBATCH -dSAFER -dPARANOIDSAFER -sDEVICE=pdfwrite
-sOutputFile=file.pdf -c .setpdfwrite -f file.ps
Will it work if I append the above string in the buffer ? //
void guac_rdpdr_process_print_job_write(guac_rdpdr_device* device,
wStream* input_stream, int completion_id) {
guac_client* client = device->rdpdr->client;
guac_rdp_client* rdp_client = (guac_rdp_client*) client->data;
guac_rdp_print_job* job = (guac_rdp_print_job*) rdp_client->active_job;
unsigned char* buffer;
int length;
int status;
/* Read buffer of print data */
Stream_Read_UINT32(input_stream, length);
Stream_Seek(input_stream, 8); /* Offset */
Stream_Seek(input_stream, 20); /* Padding */
* buffer = Stream_Pointer(input_stream);*
/* Write data only if job exists, translating status for RDP */
if (job != NULL && (length = guac_rdp_print_job_write(job,
buffer, length)) >= 0) {
status = STATUS_SUCCESS;
}
/* Report device offline if write fails */
else {
status = STATUS_DEVICE_OFF_LINE;
length = 0;
}
wStream* output_stream = guac_rdpdr_new_io_completion(device,
completion_id, status, 5);
Stream_Write_UINT32(output_stream, length);
Stream_Write_UINT8(output_stream, 0); /* Padding */
svc_plugin_send((rdpSvcPlugin*) device->rdpdr, output_stream);
}
What are the options I have if I want to achieve the above ? Is there
anything else I can do to append it ?
Thanks and Regards,
Amarjeet Singh