Hard clipping removes the read base and quality information from that record in the BAM file. It must be recovered from another source (e.g. the original FASTQ file) as the information is not present in the BAM file.
Exception: if the BAM file contains multiple record for a single read, the hard clipped record can be rehydrated from the other record. For example, if your hard clips are due to split read alignments generated by bwa, the primary read alignment mapping location record will be soft clipped and will containing the required information. The hard clipping on the supplementary alignments can be converted to soft clips using the information from the primary read alignment.
My SV caller GRIDSS includes a (somewhat poorly named) utility program
gridss.ComputeSamTags that, using the
SOFTEN_HARD_CLIPS parameter, can do exactly that (you'll need to sort by read name first).