2017-01-09 6 views
0

У меня есть текстовый файл, который мне нужно открыть в Notepad.exe, и добавить пользователя к нему. Затем я хотел бы распечатать файл в AdobePDF, когда пользователь выйдет из файла.Powershell Открытый текстовый файл распечатать его на выходе

Вот что я должен открыть файл

Start-Process notepad.exe C:\path\to\text\file\MyTextFile.txt -NoNewWindow -Wait 

Не знаете, как печать PDF на выходе. AdobePDF - это установленный принтер, но он не является принтером DEFAULT. Любая помощь или советы будут очень признательны.

ответ

0

Вы можете попробовать что-то вроде этого,

$TxtFilePath = "C:\folder\txtfile.txt" 
Start-Process notepad.exe $TxtFilePath -NoNewWindow -Wait #Assuming user save the file 
Get-Content -Path $TxtFilePath| Out-Printer PDFCreator #PDFCreator is the printer name for PDF 

--EDIT--

Я не мог понять, прямой подход, чтобы сохранить имя файла, тип написал хак с мс слово,

Function Save-TxtAsPDF 
{ 
    Param([string] $FilePath, [string] $OutFolder) 

    # Required Word Variables 
    $ExportASPDFConstant = 17 
    $DoNotSaveConstant = 0 

    # Create a hidden Word window 
    $word = New-Object -ComObject word.application 
    $word.visible = $false 

    # Add a Word document 
    $doc = $word.documents.add() 

    # Put the text into the Word document 
    $txt = Get-Content $FilePath 
    $selection = $word.selection 
    $selection.typeText($txt) 

    # Set the page orientation to landscape 
    $doc.PageSetup.Orientation = 1 

    $FileName = (Split-Path -Path $FilePath -Leaf).Replace(".txt",".pdf") 


    $DestinationPath = Join-Path $OutFolder $FileName 

    # Export the PDF file and close without saving a Word document 
    $doc.ExportAsFixedFormat($DestinationPath,$ExportASPDFConstant) 
    $doc.close([ref]$DoNotSaveConstant) 
    $word.Quit() 
} 


$TxtFilePath = "C:\folder\tt.txt" 
$OutFolder = "C:\Outputfolder" 

Start-Process notepad.exe $TxtFilePath -NoNewWindow -Wait #Assuming user save the file 

Save-TxtAsPDF -FilePath $TxtFilePath -OutFolder $OutFolder 

Посмотрите, поможет ли это!

+0

Это отлично работает. Однако я задаюсь вопросом, есть ли способ сохранить исходное имя текстового файла при сохранении pdf? – Eric

+0

Обновлен ответ, не удалось найти прямой подход! Посмотрите, поможет ли это! –