Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Unable to export a Knowledge article

selva kumar1
Tera Contributor

Unable to export a particular knowledge article in instance, I have used the below script and tried to exact to pdf which is working for all articles except for one and getting the below error. Please help

 

Script : 

var kbID = "f8b49a771b6af598fa3737ff034bcbfd";
gs.info("Selva" + kbID);

var kbContent = '';
var grKnowledgeArticle = new GlideRecord("kb_knowledge");
if (grKnowledgeArticle.get(kbID)) {
kbContent = grKnowledgeArticle.text.toString();
}

var v = new sn_pdfgeneratorutils.PDFGenerationAPI;
var result = v.convertToPDF(kbContent, "kb_knowledge", kbID, grKnowledgeArticle.getValue('short_description')+'_Exported'); //updated the title of pdf

gs.info(result.attachment_id);

 

Error in Background script for this particular KA:

*** Script: Selvaf8b49a771b6af598fa3737ff034bcbfd
com.snc.pdfgenerator.PDFGenerationService - Html to PDF conversion, target table name : kb_knowledge, sysId : f8b49a771b6af598fa3737ff034bcbfd, request ID : 6eb7d6ff1b6af598fa3737ff034bcb40
com.snc.pdfgenerator.PdfUtil - Adding fonts locations for PDF generation took time_ms=498
PDFGenerationService: com.snc.pdfgenerator.ITextPDFGenerationService.convertToPDF(ITextPDFGenerationService.java:210) com.snc.pdfgenerator.ITextPDFGenerationService.convertToPDF(ITextPDFGenerationService.java:326) com.snc.pdfgenerator.ITextPDFGenerationService.convertToPDFAndAttach(ITextPDFGenerationService.java:92) com.snc.pdfgenerator.PDFGenerationService.convertToPDF(PDFGenerationService.java:126) com.snc.pdfgenerator.PDFGenerationAPI.convertToPDF(PDFGenerationAPI.java:105) com.snc.pdfgenerator.PDFGenerationAPI.jsFunction_convertToPDF(PDFGenerationAPI.java:117) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138) org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:677) org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614) org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2649) org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518) org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830) org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160) com.glide.caller.gen.null_null_script.call(Unknown Source) com.glide.script.ScriptCaller.call(ScriptCaller.java:18) org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159) org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:597) org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3573) org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:172) com.glide.script.ScriptCompiler.evalNoCache(ScriptCompiler.java:52) com.glide.debugger.GlideDebuggableScript.exec(GlideDebuggableScript.java:47) com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:397) com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:209) com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:137) com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:348) com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:240) com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:219) com.glide.processors.ScriptProcessor.evaluateScript0(ScriptProcessor.java:397) com.glide.processors.ScriptProcessor.lambda$evaluateScriptWithRecordingOption$0(ScriptProcessor.java:380) com.glide.rollback.recording.RollbackRecorder.execute(RollbackRecorder.java:67) com.glide.processors.ScriptProcessor.evaluateScriptWithRecordingOption(ScriptProcessor.java:380) com.glide.processors.ScriptProcessor.evaluateScript(ScriptProcessor.java:360) com.glide.processors.ScriptProcessor.runScript(ScriptProcessor.java:259) com.glide.processors.ScriptProcessor.process(ScriptProcessor.java:217) com.glide.processors.AProcessor.runProcessor(AProcessor.java:668) com.glide.processors.AProcessor.processTransaction(AProcessor.java:287) com.glide.processors.ProcessorRegistry.process0(ProcessorRegistry.java:184) com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:172) com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:51) com.glide.sys.Transaction.run(Transaction.java:2502) com.glide.ui.HTTPTransaction.run(HTTPTransaction.java:27) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:829) : no thrown error
com.snc.pdfgenerator.FontCacheHandler - Flushed the FontCache from the heap memory which took time_ms=1
com.snc.pdfgenerator.PDFGenerationService - Html to PDF conversion request - 6eb7d6ff1b6af598fa3737ff034bcb40 took time_ms=672
*** Script: undefined

 

4 REPLIES 4

Amit Gujarathi
Giga Sage
Giga Sage

HI @selva kumar1 ,
I trust you are doing fine.
Please try this updated code.

var kbID = "f8b49a771b6af598fa3737ff034bcbfd";
gs.info("Processing Knowledge Article with ID: " + kbID);

var grKnowledgeArticle = new GlideRecord("kb_knowledge");
if (grKnowledgeArticle.get(kbID)) {
    var kbContent = grKnowledgeArticle.getValue('text');
    gs.info("Article content loaded. Length: " + kbContent.length);

    // Debug: Log a snippet of the content
    gs.info("Content Snippet: " + kbContent.substring(0, 500));

    try {
        var pdfGenerator = new sn_pdfgeneratorutils.PDFGenerationAPI();
        var result = pdfGenerator.convertToPDF(kbContent, "kb_knowledge", kbID, grKnowledgeArticle.getValue('short_description') + '_Exported');
        gs.info("PDF Generation Result: " + JSON.stringify(result));
    } catch (e) {
        gs.error("PDF Generation Error: " + e.message);
    }
} else {
    gs.error("Knowledge Article not found with ID: " + kbID);
}

Was this answer helpful?


Please consider marking it correct or helpful.


Your feedback helps us improve!


Thank you!


Regards,


Amit Gujrathi



Hi @Amit Gujarathi 

 

Thanks for you reply I have tried the code which you have provided but got the below error

error :

FastLock Swapped DBI since we were opening a second lock (RollbackContextState:de136ef31b6ef598fa3737ff034bcb57) on same connection
*** Script: Processing Knowledge Article with ID: f8b49a771b6af598fa3737ff034bcbfd
*** Script: Article content loaded. Length: 111030
*** Script: Content Snippet: <p><img src="PPLogo1.png" width="204" height="71" /></p> <p> </p> <div> <p style="margin: 0in 0in 6pt; text-align: justify; font-size: 24pt; font-family: &#39;PayPal Sans Big&#39;, sans-serif; color: #003087;">Policy</p> <p style="margin: 0in 0in 6pt; text-align: justify; font-size: 10pt; font-family: &#39;PayPal Sans Big Light&#39;, sans-serif;"> </p> <p style="margin: 0in 0in 6pt; text-align: justify; font-size: 12pt; font-family: &#39;PayPal Sans Big&#39;, sans-serif;">Enterprise Risk an
com.snc.pdfgenerator.PDFGenerationService - Html to PDF conversion, target table name : kb_knowledge, sysId : f8b49a771b6af598fa3737ff034bcbfd, request ID : ae136ef31b6ef598fa3737ff034bcb59
com.snc.pdfgenerator.PdfUtil - Adding fonts locations for PDF generation took time_ms=384
PDFGenerationService: com.snc.pdfgenerator.ITextPDFGenerationService.convertToPDF(ITextPDFGenerationService.java:210) com.snc.pdfgenerator.ITextPDFGenerationService.convertToPDF(ITextPDFGenerationService.java:326) com.snc.pdfgenerator.ITextPDFGenerationService.convertToPDFAndAttach(ITextPDFGenerationService.java:92) com.snc.pdfgenerator.PDFGenerationService.convertToPDF(PDFGenerationService.java:126) com.snc.pdfgenerator.PDFGenerationAPI.convertToPDF(PDFGenerationAPI.java:105) com.snc.pdfgenerator.PDFGenerationAPI.jsFunction_convertToPDF(PDFGenerationAPI.java:117) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) org.mozilla.javascript.MemberBox.invoke(MemberBox.java:138) org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:677) org.mozilla.javascript.FunctionObject.call(FunctionObject.java:614) org.mozilla.javascript.ScriptRuntime.doCall(ScriptRuntime.java:2649) org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1518) org.mozilla.javascript.Interpreter.interpret(Interpreter.java:830) org.mozilla.javascript.InterpretedFunction.lambda$call$0(InterpretedFunction.java:160) com.glide.caller.gen.null_null_script.call(Unknown Source) com.glide.script.ScriptCaller.call(ScriptCaller.java:18) org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:159) org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:597) org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3573) org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:172) com.glide.script.ScriptCompiler.evalNoCache(ScriptCompiler.java:52) com.glide.debugger.GlideDebuggableScript.exec(GlideDebuggableScript.java:47) com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:397) com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:209) com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:137) com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:348) com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:240) com.glide.script.fencing.GlideScopedEvaluator.evaluateScript(GlideScopedEvaluator.java:219) com.glide.processors.ScriptProcessor.evaluateScript0(ScriptProcessor.java:397) com.glide.processors.ScriptProcessor.lambda$evaluateScriptWithRecordingOption$0(ScriptProcessor.java:380) com.glide.rollback.recording.RollbackRecorder.execute(RollbackRecorder.java:67) com.glide.processors.ScriptProcessor.evaluateScriptWithRecordingOption(ScriptProcessor.java:380) com.glide.processors.ScriptProcessor.evaluateScript(ScriptProcessor.java:360) com.glide.processors.ScriptProcessor.runScript(ScriptProcessor.java:259) com.glide.processors.ScriptProcessor.process(ScriptProcessor.java:217) com.glide.processors.AProcessor.runProcessor(AProcessor.java:668) com.glide.processors.AProcessor.processTransaction(AProcessor.java:287) com.glide.processors.ProcessorRegistry.process0(ProcessorRegistry.java:184) com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:172) com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:51) com.glide.sys.Transaction.run(Transaction.java:2502) com.glide.ui.HTTPTransaction.run(HTTPTransaction.java:27) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:829) : no thrown error
com.snc.pdfgenerator.FontCacheHandler - Flushed the FontCache from the heap memory which took time_ms=3
com.snc.pdfgenerator.PDFGenerationService - Html to PDF conversion request - ae136ef31b6ef598fa3737ff034bcb59 took time_ms=585
*** Script: PDF Generation Result: {"message":null,"request_id":"ae136ef31b6ef598fa3737ff034bcb59","status":"failure"}

selva kumar1
Tera Contributor

Miguel Nogales1
Tera Contributor

@selva kumar1 could you solve this?