How to limit the characters shown on the page – get_content

WordPress has inbuilt function force_balance_tags
which I belive is not explored much but it can be useful in such scenario.

get the content and truncate it to any arbitrary length

$content = get_the_content();

$length = 1000;

if(strlen($content) > $length) {
    $content = substr($content, 0, $length);
}

Now apply force_balance_tags function to balance any html tags which were started in content but did not end due to string length limit.

echo force_balance_tags($content);

Hope it helps.

EDIT:

From the WordPress Documentation page

This function is used in the short post excerpt list, to prevent unmatched elements. 
For example, it makes <div><b>This is an excerpt. <!--more--> and this is more text... </b></div> not break, 
when the html after the more tag is cut off.