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?