---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# SVGToPDFConversionAPI - Scoped, Global

# SVGToPDFConversionAPI - Scoped, Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 minutes to read

The SVGToPDFConversionAPI provides methods that enable the adding of an SVG to a PDF and converting an SVG to PDF.

This API is part of the ServiceNow PDF
Generation Utilities plugin (com.snc.apppdfgenerator) and is provided within the
`sn_pdfgeneratorutils` namespace. The plugin is activated by default.

See also [PDFGenerationAPI](https://servicenow-prod.fluidtopics.net/r6ifZ3JkiLd_1W_LcORhLw#PDFGenerationAPIBothAPI "The PDFGenerationAPI provides support for PDF conversion and handling PDF fields.").

## SVGToPDFConversionAPI - SVGToPDFConversionAPI() {#ariaid-title2}

Instantiates a new SVGToPDFConversionAPI object.
{#SV-SVGToPDFConversionAPI__table_twm_hjk_34b__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 1. Parameters]

{#SV-SVGToPDFConversionAPI__table_twm_hjk_34b}  
The following examples shows how to create a SVGToPDFConversionAPI
object.

    var v = new sn_pdfgeneratorutils.SVGToPDFConversionAPI();

## SVGToPDFConversionAPI - addSVGToPDF(String svg, String inputPdfSysId, String targetTable,
String targetSysId, String nameForPdf, Number pageNo, Number x, Number y, Number svgImgWidth,
Number svgImgHeight) {#ariaid-title3}

Adds an SVG image to a PDF on a specified page with image size and location
coordinates.
{#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__table_gms_ycm_j4b__entry__3}{#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__api_pdfgen_parm_fill_tableN_desc}

| Name | Type | Description |
|-|-|-|
| svg | String | SVG to convert to a PDF document. |
| inputPdfSysId | String | Sys_id of the target PDF in which to create a copy of with an SVG. The target PDF is in the Attachments \[sys_attachment\] table. |
| targetTable | String | Name of the table containing the record to which the PDF is attached. You can find this value in the same row as the attachment listed in the Attachments \[sys_attachment\] table. |
| targetTableSysId | String | Sys_id of the record to which the PDF is attached. You can find this value in the same row as the attachment listed in the Attachments \[sys_attachment\] table. |
| targetTable | String | Name of the table on which to attach the converted PDF. |
| targetTableSysId | String | Sys_id of the record on which to attach the converted PDF. |
| pdfName | String | Name to give the PDF. Default: Sys_id of the PDF in the Attachments \[sys_attachment\] table. |
| pageNo | Number | Page number in the attached PDF on which to place the SVG. |
| x | Number | Horizontal position of the SVG in the page. Value is in points. |
| y | Number | Vertical position of the SVG in the page. Value is in points. |
| svgImgWidth | Number | Width of the SVG image in pixels. |
| svgImgHeight | Number | Height of the SVG image in pixels. |
[Table 2. Parameters]

{#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__table_gms_ycm_j4b} {#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__table_hms_ycm_j4b__entry__2}{#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__row_svg2PDF-return-svg_attach}

| Type | Description |
|-|-|
| Object | Object containing sys_id of a new PDF attachment with inserted SVG if successful, error message otherwise. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | If SVG conversion is successful, sys_id of the attached PDF. The file is listed in the Attachments \[sys_attachment\] table. Data type: String |
| \<Object\>.message | Message confirming success or error. Possible values: * Adding SVG content to PDF failed. * Adding SVG to PDF and creating new PDF is successful. * Given target record \[\<tableName\> - \<targetTableSysId\>\] does not exist. -- Target table sys_id is not in the table provided. Make sure you include the correct table name for the record. * Input PDF attachment sys id to add the SVG content is null * Input SVG content is empty or null * PdfReader is not opened with owner password * The target table name to attach the modified PDF : \<targetTable\> is empty or null * The target table name to attach the modified PDF : \<targetTable\> is not valid {#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__ul_zv2_wq3_k4b} Data type: String |
| \<Object\>.status | Status indicating whether the operation is successful. Possible values: * success - Operation was successful. * failure -- Operation was not successful. The message provides details. {#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__ul_rlv_5cv_j4b} Data type: String |
[Table 3. Returns]

{#SV-addSVGToPDF_S_S_S_S_S_N_N_N_N_N__table_hms_ycm_j4b}  
The following example shows how get SVG from the description field of an incident record
and add it to page 5 of a PDF attachment. The new PDF with SVG is located in the Attachments
\[sys_attachment\] table.

    var gr = new GlideRecord("incident");

    var svg;

    if (gr.get("<tableSysId>")) {
     svg = gr.description.toString();
    }

    var result = new sn_pdfgeneratorutils.SVGToPDFConversionAPI().addSVGToPDF(svg, "<inputPdfSysId>", "incident", "<tableSysId>", "AddSVGToPDF", 5, 30, 30, 300, 100);
    gs.info(JSON.stringify(result));

Output:

    {"attachment_id":"<sys_id>","message":"Adding SVG to PDF and creating new PDF is successful.","status":"success"}

## SVGToPDFConversionAPI - convertSVGToPDF(String svg, String pdfName, String targetTable,
String targetTableSysId) {#ariaid-title4}

Converts an SVG provided as string to PDF.
{#SV-convertSVGToPDF_S_S_S_S__table_gms_ycm_j4b__entry__3}{#SV-convertSVGToPDF_S_S_S_S__api_pdfgen_parm_fill_tableN_desc}

| Name | Type | Description |
|-|-|-|
| svg | String | SVG to convert to a PDF document. |
| pdfName | String | Name to give the PDF. Default: Sys_id of the PDF in the Attachments \[sys_attachment\] table. |
| targetTable | String | Name of the table on which to attach the converted PDF. |
| targetTableSysId | String | Sys_id of the record on which to attach the converted PDF. |
[Table 4. Parameters]

{#SV-convertSVGToPDF_S_S_S_S__table_gms_ycm_j4b} {#SV-convertSVGToPDF_S_S_S_S__table_hms_ycm_j4b__entry__2}

| Type | Description |
|-|-|
| Object | Object containing sys_id of the PDF attachment converted from SVG if successful, error message otherwise. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | If SVG conversion is successful, sys_id of the attached PDF. The file is listed in the Attachments \[sys_attachment\] table. Data type: String |
| \<Object\>.message | Message confirming success or error. Possible values: * Converting SVG image to PDF document failed. * Exception while reading Source document contents. * Given target record \[\<tableName\> - \<targetTableSysId\>\] does not exist. -- Target table sys_id is not in the table provided. Make sure you include the correct table name for the record. * SVG to PDF conversion is successful. * The Target table name - \<tableName\> to attach the converted SVG is not valid * The Target table name - \<tableName\> to attach the converted SVG is empty or null {#SV-convertSVGToPDF_S_S_S_S__ul_zv2_wq3_k4b} Data type: String |
| \<Object\>.status | Status indicating whether the operation is successful. Possible values: * success - Operation was successful. * failure -- Operation was not successful. The message provides details. {#SV-convertSVGToPDF_S_S_S_S__ul_rlv_5cv_j4b} Data type: String |
[Table 5. Returns]

{#SV-convertSVGToPDF_S_S_S_S__table_hms_ycm_j4b}  
The following example shows how get SVG from the description field of an incident record,
to convert the SVG to PDF and attach it to a record.

    var gr = new GlideRecord("incident");

    var svg;

    if (gr.get("<tableSysId>")) {
     svg = gr.description.toString();
    }

    var v = new sn_pdfgeneratorutils.SVGToPDFConversionAPI();

    var result = v.convertSVGToPDF(svg, "ConvertSVGToPDF", "incident", "<targetTableSysId>");
    gs.info(JSON.stringify(result));

Output:

    {"attachment_id":"<pdf_attachment_sys_id>","message":"SVG to PDF conversion is successful.","status":"success"}

## SVGToPDFConversionAPI - convertSVGToPDFWithSize(String svg, String nameForPDF, String
targetTable, String targetTableSysId, Number svgImgWidth, Number svgImgHeight) {#ariaid-title5}

Converts an SVG provided as string to PDF with image width and height
values.
{#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__table_nqj_1dm_j4b__entry__3}{#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__api_pdfgen_parm_fill_tableN_desc}

| Name | Type | Description |
|-|-|-|
| svg | String | SVG to convert to a PDF document. |
| pdfName | String | Name to give the PDF. Default: Sys_id of the PDF in the Attachments \[sys_attachment\] table. |
| targetTable | String | Name of the table on which to attach the converted PDF. |
| targetTableSysId | String | Sys_id of the record on which to attach the converted PDF. |
| svgImgWidth | Number | Width of the SVG image in pixels. |
| svgImgHeight | Number | Height of the SVG image in pixels. |
[Table 6. Parameters]

{#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__table_nqj_1dm_j4b} {#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__table_hms_ycm_j4b__entry__2}

| Type | Description |
|-|-|
| Object | Object containing sys_id of the PDF attachment converted from SVG if successful, error message otherwise. { "attachment_id": "String", "message": "String", "status": "String" } |
| \<Object\>.​attachment_id | If SVG conversion is successful, sys_id of the attached PDF. The file is listed in the Attachments \[sys_attachment\] table. Data type: String |
| \<Object\>.message | Message confirming success or error. Possible values: * Converting SVG image to PDF document failed. * Exception while reading Source document contents. * Given target record \[\<tableName\> - \<targetTableSysId\>\] does not exist. -- Target table sys_id is not in the table provided. Make sure you include the correct table name for the record. * The Target table name - \<tableName\> to attach the converted SVG is not valid * The Target table name - \<tableName\> to attach the converted SVG is empty or null * SVG to PDF conversion is successful. {#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__ul_zv2_wq3_k4b} Data type: String |
| \<Object\>.status | Status indicating whether the operation is successful. Possible values: * success - Operation was successful. * failure -- Operation was not successful. The message provides details. {#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__ul_rlv_5cv_j4b} Data type: String |
[Table 7. Returns]

{#SV-convertSVGToPDFWSiz_S_S_S_S_N_N__table_hms_ycm_j4b}  
The following example shows how get SVG from the description field of an incident record,
to convert the SVG to PDF, and attach it to a record.

    var gr = new GlideRecord("incident");

    var svg;

    if (gr.get("<tableSysId>")) {
     svg = gr.description.toString();
    }

    var v = new sn_pdfgeneratorutils.SVGToPDFConversionAPI();

    var result = v.convertSVGToPDFWithSize(svg, "ConvertSVGToPDF", "incident", "<targetTableSysId>", 600, 150);
    gs.info(JSON.stringify(result));

Output:

    {"attachment_id":"<pdf_attachment_sys_id>","message":"SVG to PDF conversion is successful.","status":"success"}


