Printing Aras forms in 11SP15

Good morning all, I have an Aras form for non-conforming material that needs to be printed in order to travel with the bad part. I already have the separate form designed with view type=print, but i'm looking for documentation on additional configuration options, such as:

1. The Printable View action (File/Printable View, Toolbar Print icon) displays a preview popup window and then downloads a PDF. Is this the only option? Can I send the print job to my default printer instead?

2. The Printable View appears to be oriented in Landscape regardless of the dimensions I set on the form. When I print the PDF (even with my printer set to Portrait), the form prints in Landscape. Is there a way to change this?

3. Is there a way to call an item form to be printed programmatically?

Thanks,

Paul S

  • Hi Paul,

    interesting use case. Is it important for you that you exactly print the Form look&feel? I am not sure if you can really trigger your printer inside from Innovator. 

    One option to improve styling would be to pass your content to a report that you can then export to pdf. This one depends a little bit on the report services that are available in your system (SSRS, Self-Service, XSLT). But for 11SP15 XSLT reports don´t offer pdf print option.

    Maybe you can also generate a dynamic techdoc and publish this one to pdf.

    Angela

  • Hi Angela, thanks for the reply. No, getting the exact look and feel of the Aras form is not important. I need a 'printable version' of a form to print after a user promotes an item to a particular state. Right now, they'd have to promote it, then File/Printable View, open the PDF that Aras downloads, and print that manually. Hoping there's a better way.

    I have a report server set up and use SSRS a lot already. It would improve the styling piece, but I was unsure how to tie the SSRS report generation & physical printing to the Aras item state change, without forcing the user to leave Aras and go to the Report Server.

  • Do you use SSRS inside of Aras already? Please note that SSRS inside Aras is not recommended for each environment, as SSRS bypasses the permission model.You can either use separate Report items that link to the Report server or directly use code. For your usecase probably second option is preferable.

    It should be possible that you use this sample as basis to get your report from the report server:
    https://github.com/AngelaIp/add-ssrs-reports-to-vault/blob/master/AIP_get_SSRS_Report.cs

    The sample includes a lot of additional stuff, but in your case you mainly should focus on getting the report stream.
    I think it´s possible to forward the stream content to the printer. There are a lot of samples online available, but I have never tested out them.
    https://stackoverflow.com/questions/9717686/printing-a-report-server-side-and-silently
    https://www.syncfusion.com/kb/9658/silently-printing-ssrs-rdl-and-rdlc-reports-programmatically-in-c-without-preview

    Good luck!

  • Thanks for the tip. I will look into rendering an SSRS report from Aras and sending it to a printer. It will take a decent amount of development though.

    Back to my original questions, any thoughts on #2 and #3?

    If I can get Aras to generate the PDF in portrait instead of landscape, I can have them print the PDFs manually. This would be a better Phase 1 approach, and look at the SSRS rendering method as a Phase 2.

    Being able to have Aras programmatically open the 'printable view' form (and save the PDF locally) seems very doable, but Support does not have any sample documentation on how to do this.

    Thanks,

    Paul

  • Well, SSRS to regular PDF of course is doable with a much less amount of effort than directly accessing the printer. This option can be used with regular Aras report items and you do not have to use code at all. 

    For your 2nd option: I am not sure about this one, but there is a PrintingToPdf.js in the codetree with these suspicious lines of code:

    var screenHeight = 595; //A4 ppt coming from pdf format
    var screenWidth = 842; //A4 ppt coming from pdf format

    In 11SP15 its located here: ..\Innovator\Client\Modules\aras.innovator.Printing\Scripts\Classes

    For starting the print programmatically you maybe can use the code used for the CUI element.

  • I guess you will need to change Line 133:

    var pdfDoc = new JsPDF('l', 'pt', 'a4');

    The 1st paramter defines landscape (l) or portrait (p). 

    It´s a interesting piece of code. I am actually were locking for something similar for a different use case :-)

  • //var pdfDoc = new JsPDF('l', 'pt', 'a4');
    var pdfDoc = new JsPDF('p','pt','letter');

    modifying the pdfDoc variable with the above code correctly changed the default form printing orientation from Landscape to Portrait!

    This resolves item #2 from my original post. I'm still exploring using SSRS reports to do the rest of this...but I thought other users would like a solution on how to modify Aras to print forms in Portrait orientation by default. Thanks Angela!

    paul