DataFlex Requires Chilkat v11.7.0+
DataFlex
PDF Footnotes in Markdown: Inline, at the End, or Dropped
See more PDF Text Extraction Examples
Demonstrates the "footnotes" option of the "markdown" operation. Small-print notes at the foot of a page are kept where they are ("inline", the default), gathered at the end of the document ("end"), or left out ("none").Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoPdf
Variant vJson
Handle hoJson
Variant vJsonOut
Handle hoJsonOut
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The two-page PDF used in this example is available at footnotes.pdf
Get Create (RefClass(cComChilkatPdf)) To hoPdf
If (Not(IsComObjectCreated(hoPdf))) Begin
Send CreateComObject of hoPdf
End
Get ComLoadFile Of hoPdf "qa_data/pdf/footnotes.pdf" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPdf To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonOut
If (Not(IsComObjectCreated(hoJsonOut))) Begin
Send CreateComObject of hoJsonOut
End
// Page 1 has two superscript references in the text and the two notes in small print at its foot;
// page 2 has a third.
Get pvComObject of hoJson to vJson
Get pvComObject of hoJsonOut to vJsonOut
Get ComExtractText Of hoPdf "markdown" vJson vJsonOut To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPdf To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "---- footnotes: inline (default) ----"
Get ComStringOf Of hoJsonOut "markdown" To sTemp1
Showln sTemp1
Get ComUpdateString Of hoJson "footnotes" "end" To iSuccess
Get pvComObject of hoJson to vJson
Get pvComObject of hoJsonOut to vJsonOut
Get ComExtractText Of hoPdf "markdown" vJson vJsonOut To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPdf To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "---- footnotes: end ----"
Get ComStringOf Of hoJsonOut "markdown" To sTemp1
Showln sTemp1
Get ComUpdateString Of hoJson "footnotes" "none" To iSuccess
Get pvComObject of hoJson to vJson
Get pvComObject of hoJsonOut to vJsonOut
Get ComExtractText Of hoPdf "markdown" vJson vJsonOut To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPdf To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "---- footnotes: none ----"
Get ComStringOf Of hoJsonOut "markdown" To sTemp1
Showln sTemp1
// Sample output:
// ---- footnotes: inline (default) ----
// <!-- page 1 -->
//
// # The Lens on Loan
//
// The society located a fourth-order lens of the correct period at a museum1 in the next county, and an agreement to loan it for ten years was signed in November.2 The lens will be lit with a low-wattage electric lamp rather than oil, and it will be displayed as a historic light rather than registered as an aid to navigation.
//
// 1 The county maritime museum, which holds three lenses from decommissioned lights. 2 The loan is renewable and carries no fee; the society insures the lens.
//
// <!-- page 2 -->
//
// # Public Access
//
// The grounds opened to visitors on weekends from July. Nearly three thousand people climbed the tower over the summer,3 with no incidents.
//
// 3 Counted at the entrance by the volunteers on duty.
//
// ---- footnotes: end ----
// <!-- page 1 -->
//
// # The Lens on Loan
//
// The society located a fourth-order lens of the correct period at a museum1 in the next county, and an agreement to loan it for ten years was signed in November.2 The lens will be lit with a low-wattage electric lamp rather than oil, and it will be displayed as a historic light rather than registered as an aid to navigation.
//
// <!-- page 2 -->
//
// # Public Access
//
// The grounds opened to visitors on weekends from July. Nearly three thousand people climbed the tower over the summer,3 with no incidents.
//
// 1 The county maritime museum, which holds three lenses from decommissioned lights. 2 The loan is renewable and carries no fee; the society insures the lens.
//
// 3 Counted at the entrance by the volunteers on duty.
//
// ---- footnotes: none ----
// <!-- page 1 -->
//
// # The Lens on Loan
//
// The society located a fourth-order lens of the correct period at a museum1 in the next county, and an agreement to loan it for ten years was signed in November.2 The lens will be lit with a low-wattage electric lamp rather than oil, and it will be displayed as a historic light rather than registered as an aid to navigation.
//
// <!-- page 2 -->
//
// # Public Access
//
// The grounds opened to visitors on weekends from July. Nearly three thousand people climbed the tower over the summer,3 with no incidents.
End_Procedure