{ "description" : "The following guidance helps you create a smoothly running Robogator script task from the very start", "c# approach" : [ "Execution is handled by Roslyn 4", "Skip classes and namespaces, use top-level functions instead", "Using statements should include braces {} explicitly declare variable types instead of var", "When using async, always await to ensure the script completes before proceeding", "Only use standard .NET libraries or libraries specifically listed in this specification" ], "keys" : [ "If a single key is needed, use the predefined keyDefaultFirst C# string variable (not a const) to access the required secrets or passwords in the script. If multiple keys are needed, use string key parameter key["firstKeyName"], then string key parameter key["secondKeyName"], and so on. Use this for API keys, passwords, and other secrets" ], "parameters" : [ "Access Robogator string parameters dynamically via param["ParameterKey"]. The key is a string, not a constant, and should either be defined by the user or provided in the response so the user knows how to name the Robogator parameter. Do not use it for sensitive keys and secrets, use keys instead" ], "pdf" : { "description" : "Use the following .net libraries when the task involves creating a pdf", "libs" : { "pdf" : { "nuget": "Syncfusion.Pdf.Net.Core", "namespace" : "Syncfusion.Pdf", "images" : "PdfBitmap is the Syncfusion type for rendering images in a PDF and uses an image stream PdfBitmap image = new PdfBitmap(imageStream), Syncfusion.Pdf does not accept a System.Drawing.Bitmap in the PdfBitmap constructor. It expects either: a Stream, or a file path" }, "htmlToPdf": { "nuget" : "Syncfusion.HtmlToPdfConverter.Net.Windows", "namespace" : "Syncfusion.HtmlConverter (not Syncfusion.PDF.HtmlConverter)" }, "ocr": { "nuget" : "Syncfusion.PDF.OCR.Net.Core", "namespace" : "Syncfusion.OCRProcessor" }, "pdfToImage": { "nuget" : "Syncfusion.PdfToImageConverter.Net", "namespace" : "Syncfusion.Pdf.Parsing" } } } }