B4X Requires Chilkat v11.7.0+
B4X
Extract One Section of a PDF by its Heading
See more PDF Text Extraction Examples
Demonstrates "labelValue": "section", which returns everything from a heading up to the next heading of the same or higher level. With the "markdown" operation the section keeps its own sub-headings.Chilkat B4X Downloads
Dim success As Boolean = False
' 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 sectioned_doc.pdf
Dim pdf As ChilkatPdf
pdf.Initialize("pdf")
success = pdf.LoadFile("qa_data/pdf/sectioned_doc.pdf")
If success = False Then
Log(pdf.LastErrorText)
Return
End If
Dim json As ChilkatJsonObject
json.Initialize
Dim jsonOut As ChilkatJsonObject
jsonOut.Initialize
' The document has the sections Introduction, Opening Hours, Terms and Conditions (with the
' sub-sections Admission, Safety and Liability) and Contact. Get the Terms and Conditions:
' everything after that heading up to the next heading of the same level (Contact). The heading
' itself is not part of the value; labelMatches[0].label has it.
json.UpdateString("label", "Terms and Conditions")
json.UpdateString("labelValue", "section")
success = pdf.ExtractText("markdown", json, jsonOut)
If success = False Then
Log(pdf.LastErrorText)
Return
End If
Log(jsonOut.StringOf("markdown"))
' The same with the "text" operation gives the section as plain text.
success = pdf.ExtractText("text", json, jsonOut)
If success = False Then
Log(pdf.LastErrorText)
Return
End If
Log("---- as text ----")
Log(jsonOut.StringOf("text"))
' Sample output:
' ### Admission
'
' Admission is free. Groups of more than ten should book in advance so that a volunteer can be assigned to them.
'
' ### Safety
'
' No more than eight people may be on the stair at one time. Children under twelve must be accompanied by an adult, and the lantern room is closed in high winds.
'
' ### Liability
'
' Visitors climb the tower at their own risk. The society carries public liability insurance but accepts no responsibility for personal property.
' ---- as text ----
' Admission
'
' Admission is free. Groups of more than ten should book in advance so that a volunteer can be assigned to them.
'
' Safety
'
' No more than eight people may be on the stair at one time. Children under twelve must be accompanied by an adult, and the lantern room is closed in high winds.
'
' Liability
'
' Visitors climb the tower at their own risk. The society carries public liability insurance but accepts no responsibility for personal property.