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

Reply via email to