Tcl Requires Chilkat v11.7.0+
Tcl
Code Blocks and Code Spans in PDF to Markdown
See more PDF Text Extraction Examples
Demonstrates how monospaced text is converted by the "markdown" operation: a monospaced block becomes a fenced code block and a monospaced run inside a sentence becomes a code span. Set "code" to false to treat it as ordinary text.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# The PDF used in this example is available at code_block.pdf
set pdf [new_CkPdf]
set success [CkPdf_LoadFile $pdf "qa_data/pdf/code_block.pdf"]
if {$success == 0} then {
puts [CkPdf_lastErrorText $pdf]
delete_CkPdf $pdf
exit
}
set json [new_CkJsonObject]
set jsonOut [new_CkJsonObject]
set success [CkPdf_ExtractText $pdf "markdown" $json $jsonOut]
if {$success == 0} then {
puts [CkPdf_lastErrorText $pdf]
delete_CkPdf $pdf
delete_CkJsonObject $json
delete_CkJsonObject $jsonOut
exit
}
puts "---- default (code: true) ----"
puts [CkJsonObject_stringOf $jsonOut markdown]
CkJsonObject_UpdateBool $json "code" 0
set success [CkPdf_ExtractText $pdf "markdown" $json $jsonOut]
if {$success == 0} then {
puts [CkPdf_lastErrorText $pdf]
delete_CkPdf $pdf
delete_CkJsonObject $json
delete_CkJsonObject $jsonOut
exit
}
puts "---- code: false ----"
puts [CkJsonObject_stringOf $jsonOut markdown]
# Sample output:
# ---- default (code: true) ----
# <!-- page 1 -->
#
# # Extracting Text
#
# Load the PDF and call `ExtractText` with the operation and an options object. The result is returned as JSON:
#
# ```
# new Pdf pdf;
# success = pdf.LoadFile("report.pdf");
# new JsonObject json;
# new JsonObject jsonOut;
# success = pdf.ExtractText("text",json,jsonOut);
# println jsonOut.StringOf("text");
# ```
#
# An empty options object extracts every page with the default clean-up. Set `pages` to limit the extraction.
# ---- code: false ----
# <!-- page 1 -->
#
# # Extracting Text
#
# Load the PDF and call ExtractText with the operation and an options object. The result is returned as JSON:
#
# new Pdf pdf; success = pdf.LoadFile("report.pdf"); new JsonObject json; new JsonObject jsonOut; success = pdf.ExtractText("text",json,jsonOut); println jsonOut.StringOf("text");
#
# An empty options object extracts every page with the default clean-up. Set pages to limit the extraction.
delete_CkPdf $pdf
delete_CkJsonObject $json
delete_CkJsonObject $jsonOut