[原创]PDFCreator自动保存及文件名带空格、后缀名丢失的解决方法(Windows 7通过)

时间:2022-06-26 21:19:48

今天安装了免费的PDF打印机软件PDFCreator,默认情况下弹出保存窗口,依照以下设定,可以自动保存:

[原创]PDFCreator自动保存及文件名带空格、后缀名丢失的解决方法(Windows 7通过)

[原创]PDFCreator自动保存及文件名带空格、后缀名丢失的解决方法(Windows 7通过)

但是存在一个问题:如果<Title>存在空格,则保存后的文件名会从第一个空格后断开,.pdf 后缀名也不会被添加。

PDFCreator一个比较好的地方在于支持动作脚本,即保存前后可以执行指定的VBS文件。

依照以下步骤,即可解决之前的问题:

1. 打开记事本,复制以下代码,另存为Rename.vbs至<PDFCreator安装路径>\Scripts\RunProgramAfterSaving目录下;

————————————————————————————————————————————————

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set Net = WScript.CreateObject("WScript.Network")
Set dic = WScript.CreateObject("Scripting.Dictionary")

Dim objArgs
Set objArgs = WScript.Arguments

Main()
Sub Main()
    If objArgs.Count = 0 Then
        MsgBox "This script needs a parameter!", vbExclamation, AppTitle
        WScript.Quit
    End If
    Dim fname0, fname1
    fname0 = objArgs(0)
    fname1 = fname0
    IF GetFileExt(fname0) <> "pdf" Then
        fname1 = fname1 & ".pdf"
        fso.movefile fname0, fname1
    End If
    WshShell.Run chr(34) & fname1 & chr(34),0
End Sub
Function GetFileExt(sFileName)
    Dim P
    For P = Len(sFileName) To 1 Step -1
        If InStr(".", Mid(sFileName, P, 1)) Then Exit For
    Next
    GetFileExt = Right(sFileName, Len(sFileName) - P)
End Function

————————————————————————————————————————————————

2. 勾选“保存后动作”,下拉框中选择Rename.vbs,保存。

[原创]PDFCreator自动保存及文件名带空格、后缀名丢失的解决方法(Windows 7通过)

OK了^o^