- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2025 01:22 AM
Hello,
can you help with this script below. It works but the pdf file attached is 0k:
var pdf_base64 = 'JVBERi0xLjMKJcfsj6IKMSAwIG9iagogPDwvVHlwZSAvUGFnZSAvUGFyZW50IDMgMCBSIC9SZXNvdXJjZXMgMiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdID4+CmVuZG9iagoyIDAgb2JqIDw8L1Byb2NTZXQgNiAwIFIgL0ZvbnQgPDwvRjEgNSAwIFIgPj4gPj4KZW5kb2JqCjMgMCBvYmogPDwvVHlwZSAvUGFnZXMgL0tpZHMgWzEgMCBSXSAvQ291bnQgMSAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKNCAwIG9iaiA8PC9MZW5ndGggNzggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCkJUCi9GMSA0OCBUZiAxMCAxMCBUZCAoSGVsbG8sIHdvcmxkLikgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqIDw8L1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUxIC9CYXNlRm9udCAvSGVsdmV0aWNhID4+CmVuZG9iago2IDAgb2JqIFsgL1BERiAvVGV4dCBdCmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA2NyAwMDAwMCBuIAowMDAwMDAwMTc5IDAwMDAwIG4gCjAwMDAwMDAzMDUgMDAwMDAgbiAKMDAwMDAwMDM3NiAwMDAwMCBuIAowMDAwMDAwNDM3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA3IC9Sb290IDMgMCBSPj4Kc3RhcnR4cmVmCjQ1NgUlRUYlRjAKJSVFTg==';
var attachment = new GlideRecord('sys_attachment');
attachment.initialize();
attachment.table_name = "u_imp";
attachment.table_sys_id = "9a1a7deb473f5290c3e13f52e36d4365";
attachment.file_name = "test.pdf";
attachment.content_type = "application/pdf";
attachment.encoded_string = pdf_base64;
var sysId = attachment.insert();
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2025 02:33 AM
that's now how attachments are created.
try this script
If the base64 data is correct then the file will be uploaded fine and you can view the content as well
var pdf_base64 = 'JVBERi0xLjMKJcfsj6IKMSAwIG9iagogPDwvVHlwZSAvUGFnZSAvUGFyZW50IDMgMCBSIC9SZXNvdXJjZXMgMiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdID4+CmVuZG9iagoyIDAgb2JqIDw8L1Byb2NTZXQgNiAwIFIgL0ZvbnQgPDwvRjEgNSAwIFIgPj4gPj4KZW5kb2JqCjMgMCBvYmogPDwvVHlwZSAvUGFnZXMgL0tpZHMgWzEgMCBSXSAvQ291bnQgMSAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKNCAwIG9iaiA8PC9MZW5ndGggNzggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCkJUCi9GMSA0OCBUZiAxMCAxMCBUZCAoSGVsbG8sIHdvcmxkLikgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqIDw8L1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUxIC9CYXNlRm9udCAvSGVsdmV0aWNhID4+CmVuZG9iago2IDAgb2JqIFsgL1BERiAvVGV4dCBdCmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA2NyAwMDAwMCBuIAowMDAwMDAwMTc5IDAwMDAwIG4gCjAwMDAwMDAzMDUgMDAwMDAgbiAKMDAwMDAwMDM3NiAwMDAwMCBuIAowMDAwMDAwNDM3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA3IC9Sb290IDMgMCBSPj4Kc3RhcnR4cmVmCjQ1NgUlRUYlRjAKJSVFTg==';
var tableSysId = '9a1a7deb473f5290c3e13f52e36d4365';
var tableName = 'u_imp';
var contentType = 'application/pdf';
var ecc = new GlideRecord('ecc_queue');
ecc.initialize();
ecc.agent = "AttachmentCreator";
ecc.topic = "AttachmentCreator";
ecc.name = "test.pdf:" + contentType;
ecc.source = tableName + ":" + tableSysId;
ecc.payload = pdf_base64;
ecc.insert();
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2025 02:01 AM
@Lom ,
You can create a PDF using the PDFGenerationAPI:
Also, refer to the following articles for more details:
https://www.servicenow.com/community/developer-articles/generating-custom-pdfs-using-the-new-pdfgene...
https://www.servicenow.com/community/developer-articles/generating-a-pdf-from-html/ta-p/2306347
If the above information helps you, Kindly mark it as Helpful and Accept the solution.
Regards,
Pooja.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2025 02:17 AM
Hello Pooja2998,
I don't want to generate a PDF.
I want to create a record in sys_attachment with a PDF file encoded in base64 (var pdf_base64 in the script).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2025 02:33 AM
that's now how attachments are created.
try this script
If the base64 data is correct then the file will be uploaded fine and you can view the content as well
var pdf_base64 = 'JVBERi0xLjMKJcfsj6IKMSAwIG9iagogPDwvVHlwZSAvUGFnZSAvUGFyZW50IDMgMCBSIC9SZXNvdXJjZXMgMiAwIFIgL0NvbnRlbnRzIDQgMCBSIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdID4+CmVuZG9iagoyIDAgb2JqIDw8L1Byb2NTZXQgNiAwIFIgL0ZvbnQgPDwvRjEgNSAwIFIgPj4gPj4KZW5kb2JqCjMgMCBvYmogPDwvVHlwZSAvUGFnZXMgL0tpZHMgWzEgMCBSXSAvQ291bnQgMSAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSA+PgplbmRvYmoKNCAwIG9iaiA8PC9MZW5ndGggNzggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCkJUCi9GMSA0OCBUZiAxMCAxMCBUZCAoSGVsbG8sIHdvcmxkLikgVGoKRVQKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqIDw8L1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUxIC9CYXNlRm9udCAvSGVsdmV0aWNhID4+CmVuZG9iago2IDAgb2JqIFsgL1BERiAvVGV4dCBdCmVuZG9iagp4cmVmCjAgNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA2NyAwMDAwMCBuIAowMDAwMDAwMTc5IDAwMDAwIG4gCjAwMDAwMDAzMDUgMDAwMDAgbiAKMDAwMDAwMDM3NiAwMDAwMCBuIAowMDAwMDAwNDM3IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA3IC9Sb290IDMgMCBSPj4Kc3RhcnR4cmVmCjQ1NgUlRUYlRjAKJSVFTg==';
var tableSysId = '9a1a7deb473f5290c3e13f52e36d4365';
var tableName = 'u_imp';
var contentType = 'application/pdf';
var ecc = new GlideRecord('ecc_queue');
ecc.initialize();
ecc.agent = "AttachmentCreator";
ecc.topic = "AttachmentCreator";
ecc.name = "test.pdf:" + contentType;
ecc.source = tableName + ":" + tableSysId;
ecc.payload = pdf_base64;
ecc.insert();
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-25-2025 02:37 AM
Hello @Ankur Bawiskar ,
This is we are inserting a record to ecc queue but not into attachment table.
will it create a record in attachment table.
Asking this question for learning purpose.
Regards,
Debasis