An alternative to having to assume that the user has Word or some other such application installed would be to include a library with your script that will support converting text to PDF. iTextSharp was specifically designed to work with .Net to create and maintain PDF documents. You can get it here.
The only stipulation is that it is licensed software using the AGPL (free!) license structure unless you plan on packing this within your own software or some such and don't plan on having it be open source. It sounds like you're just writing a script, that should not be a problem. If you go find a v4 copy of iTextSharp you can actually get away without having to disclose everything as open source, so you may want to go that route.
Good reference for using it with powershell is slipsec.com/blog post 414, which is where I usually reference to borrow code when I have to use the library myself (twice, but I think it's tedious and annoying so I don't use it often, but then again I rarely need to generate PDF documents in bulk or in an automated fashion).
So, the nitty gritty... This loads the DLL, creates the objects needed to generate the PDF file (it's using the font Ariel, at a font size of 10).
Then it reads the source file (C:\temp\source.txt is used as an example), and adds the content to the $paragraph
object, adding a New Line character for each line, otherwise is smashes all of the text into one big ugly clump.
Then it opens the file object (effectively creating the file), adds the $paragraph
object to the file, and closes the file. No save is needed, adding the $paragraph
object writes the data directly to the drive.
[System.Reflection.Assembly]::LoadFrom("C:\path\to\itextsharp\itextsharp.dll")
$doc = New-Object iTextSharp.text.Document
$fileStream = New-Object IO.FileStream("C:\temp\output.pdf", [System.IO.FileMode]::Create)
[iTextSharp.text.pdf.PdfWriter]::GetInstance($doc, $filestream)
#iTextSharp provides a class to work with fonts, but first we have to register them:
[iTextSharp.text.FontFactory]::RegisterDirectories()
$arial = [iTextSharp.text.FontFactory]::GetFont("arial", 10)
$paragraph = New-Object iTextSharp.text.Paragraph
$paragraph.add((gc C:\temp\source.txt|%{"$_`n"})) | Out-Null
$doc.open()
$doc.add($paragraph) | Out-Null
$doc.close()