If you are compiling for flash player 10 (which requires CS4 or a recent flex sdk), you can just rotate the text field in 3d:
text.rotateX = -45;
There are a few more issues with this, such as you need to use font embedding, and getting the vanishing point in the center of the field.
Doing this in flash player < 10 with bitmaps is also possible, if you are masochistic, and don't mind some vertical aliasing. The idea would be to use BitmapData.draw() to draw each line with a height 1 clipping rect and a transform to do the perspective division. Eg (in flex):
class Main extends Sprite
{
[Embed(systemFont="Arial", fontName="embedFont", mimeType="application/x-font")]
var embedFont:Class;
public function Main()
{
var text:TextField = new TextField();
text.defaultTextFormat = new TextFormat("embedFont", 30);
text.embedFonts = true;
text.autoSize = TextFieldAutoSize.LEFT;
text.text = "Hello, world\nHow nice\nto have\nmultiple\nlines!";
var bmp:BitmapData = new BitmapData(150, 100);
for (var i:int = 0; i != bmp.height; ++i) {
var m:Matrix = new Matrix();
// x-division, change 0.8, 0.2 to change scale increase, scale at top
m.a = i*(0.8/bmp.height)+0.2;
// horizontal center
m.tx = bmp.width * (1-m.a) / 2;
// y-division, and align text to bottom
m.ty = (bmp.height-i)/m.a - bmp.height;
bmp.draw(text, m, null, null, new Rectangle(0, i, bmp.width, 1));
}
addChild(new Bitmap(bmp));
}
}
I haven't done the maths, so I don't know if that's physically accurate, but it should give you an idea.