Добавить щелкните правой кнопкой мыши Сохранить как PDF в Проводнике Windows

Я ищу способ, чтобы иметь возможность добавить некоторые опции в контекстное меню правой кнопки мыши в Windows 7. У меня действительно не так много опыта в программировании, но я очень хочу и хочу учиться.

в частности, я хотел бы быть в состоянии щелкните правой кнопкой мыши документ word, и он конвертировать или сохранить как .файл PDF. Я хочу иметь возможность конвертировать существующие документы в формате PDF. Документы в 99% случаев будут документами Microsoft Word, поэтому, если есть способ автоматизируйте это, руководство приветствуется.

Я знаю, что есть и другие методы сделать это, такие как загрузка "PDF принтер", но я предпочел бы избежать этого метода, если бы я мог. Я также хотел бы избежать загрузки большего количества программного обеспечения для установки на ПК пользователя, если это возможно.

надеюсь, я не очень требователен, но я действительно ценю любую помощь или руководство, которое вы можете предложить.

(в качестве бонуса я хотел бы посмотреть, могу ли я также получить возможность сохранения как PDF и отправить как вложение, если это возможно.)

17
задан cyborgcommando0
23.11.2022 9:54 Количество просмотров материала 2980
Распечатать страницу

3 ответа

вот решение для Word 2013. Он включает в себя только добавление макроса Visual Basic в Word и несколько записей в реестр.

создание глобального макроса в Word 2013: откройте любой документ в Word, откройте встроенный редактор Visual Basic (Alt + F11), выберите нормальный на левой панели нажмите вставить в главном меню, затем модуль, и скопируйте код в Редакторе:

Sub ExportToPDFext()
    ChangeFileOpenDirectory ThisDocument.Path
    ActiveDocument.ExportAsFixedFormat _
        OutputFileName:=Left(ActiveDocument.FullName, InStrRev(ActiveDocument.FullName, ".")) + "pdf", _
        ExportFormat:=wdExportFormatPDF, _
        OpenAfterExport:=False, _
        OptimizeFor:=wdExportOptimizeForPrint, _
        Range:=wdExportAllDocument, _
        From:=1, _
        To:=1, _
        Item:=wdExportDocumentContent, _
        IncludeDocProps:=True, _
        KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, _
        DocStructureTags:=True, _
        BitmapMissingFonts:=True, _
        UseISO19005_1:=False
    Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub

сохранить модуль (Ctrl + S) и закрыть Visual Basic редактор и слово.

затем добавить контекстного меню реестра. Создайте и запустите файл с расширением .reg:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Word.Document.8\shell\SavePDFhere]
@="Save PDF here"

[HKEY_CLASSES_ROOT\Word.Document.8\shell\SavePDFhere\command]
@="\"C:\Program Files\Microsoft Office\Office15\WINWORD.EXE\" /mExportToPDFext /q \"%1\""

[HKEY_CLASSES_ROOT\Word.Document.12\shell\SavePDFhere]
@="Save PDF here"

[HKEY_CLASSES_ROOT\Word.Document.12\shell\SavePDFhere\command]
@="\"C:\Program Files\Microsoft Office\Office15\WINWORD.EXE\" /mExportToPDFext /q \"%1\"" 

щелкните правой кнопкой мыши "Сохранить PDF здесь" появится в Проводнике для DOC и DOCX файлов.

работает тихо и поддерживает Пакетное преобразование нескольких выбранных документов.

6
отвечен Oleksiy Kovtun 2022-11-24 17:42

используйте способность командной строки PDFCreator конвертировать любой файл для печати в PDF

  1. скачать и установить PDFCreator вместе со своим COM модуль. Модуль COM важен, иначе следующий VBscript не сможет соединиться с вашим PDF принтером

  2. скопируйте и вставьте этот код в текстовый файл и сохраните его как Convert2PDF.vbs

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set PDFCreator = Wscript.CreateObject("PDFCreator.clsPDFCreator", "PDFCreator_")
    
    With PDFCreator
     ReadyState = 0
     .cStart "/NoProcessingAtStartup"
     .cOption("UseAutosave") = 1
     .cOption("UseAutosaveDirectory") = 1
     .cOption("AutosaveFormat") = 0
     .cOption("AutosaveStartStandardProgram") = 0
     DefaultPrinter = .cDefaultprinter
     .cDefaultprinter = "PDFCreator"
     .cClearcache
     .cPrinterStop = false
     .cOption("AutosaveDirectory") = fso.GetParentFolderName(WScript.Arguments(0))
     .cOption("AutosaveFilename") = fso.GetBaseName(WScript.Arguments(0))
     .cPrintfile cStr(WScript.Arguments(0))
      c = 0
      Do While (ReadyState = 0) and (c < 120)
       c = c + 1
       Wscript.Sleep 250
      Loop
     .cDefaultprinter = DefaultPrinter
     .cClearcache
     WScript.Sleep 200
     .cClose
    End With
    
    Public Sub PDFCreator_eReady()
     ReadyState = 1
    End Sub
    
  3. поместите ярлык на ваш VBscript в ваша оболочка: папка sendto для более быстрого доступа

    enter image description here

    (или)

    выполнить VBScript из командной строки, Если вы хотите полный контроль над выходной файл.

    Используйте это немного изменен код для этого.

     C:\Convert2PDF.vbs "C:\inputfile.doc" "C:\outputfolder" "outputfilename"
    
4
отвечен nixda 2022-11-24 19:59

Я прошу прощения, что забыл об этом вопросе, но, по крайней мере, я, наконец, отвечаю на вопрос, не так ли?

Я не мог найти способ сделать это так, как я хотел, поэтому я сделал небольшой обход. Я создал и скомпилировал 2 отдельных .ahk (AutoHotkey) скрипты и добавил их в правой кнопкой мыши контекстное меню.

вот скрипт:

преобразовать .док и. DOCX в PDF (требуется Office 2007 или 2010)

; AutoHotkey Script by Cyborg v1.5

; This script is designed to be compiled and ran in the user's Send To Right-Click Menu.
; The user needs to right click a word document go into the send to menu and choose this
; script. After launching the script the selected file will open in its version of Word
; and open the menus to save it as a PDF. In this version the user is unable to rename the
; the file.

; NOTE: In order for this to work correctly with Office 2007 you MUST have already installed
; the PDF/XPS converter from Microsoft.

SetTitleMatchMode 2

Loop %0%
{
Path := %A_Index%
Run,% Path
}

IfWinExist, Microsoft Word
    WinActivate

sleep 1000

Word2007:
IfExist, C:\Program Files (x86)\Microsoft Office\Office12\WINWORD.EXE ; Microsoft Word 2007
{
    Send ^s
    Send !f
    Send f
    Send p
    Sleep 500
    Send {Enter}
    Sleep 500
    WinClose, Microsoft Word
}
else
{
    Goto, Word2010
}
return

Word2010:
IfExist, C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE ; Microsoft Word 2010
{
    Send ^s
    Send !f
    Send d
    Send p
    Send a
    Sleep 500
    Send {Enter}
    Sleep 500
    WinClose, Microsoft Word
}
else
{
    Goto, Word2013
}
return

преобразовать .XLS и .XLSX в PDF (требуется Office 2007 или 2010)

; AutoHotkey Script by Cyborg v1.5

; This script is designed to be compiled and ran in the user's Send To Right-Click Menu.
; The user needs to right click a word document go into the send to menu and choose this
; script. After launching the script the selected file will open in its version of Excel
; and open the menus to save it as a PDF. In this version the user is unable to rename the
; the file.

; NOTE: In order for this to work correctly with Office 2007 you MUST have already installed
; the PDF/XPS converter from Microsoft.

SetTitleMatchMode 2

Loop %0%
{
Path := %A_Index%
Run,% Path
}

IfWinExist, Microsoft Excel
    WinActivate

sleep 1500

Excel2007:
IfExist, C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE ; Microsoft Excel 2007
{
    Send ^s
    Send !f
    Send f
    Send p
    Sleep 700
    Send {Enter}
    Sleep 700
    WinClose, Microsoft Excel
}
else
{
    Goto, Excel2010
}
return

Excel2010:
IfExist, C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE ; Microsoft Excel 2010
{
    Send ^s
    Send !f
    Send d
    Send p
    Send a
    Sleep 500
    Send {Enter}
    Sleep 500
    WinClose, Microsoft Excel
}
else
{
    Goto, Excel2013
}
return

Excel2013:
    MsgBox, Excel 2013 Not Configured for this Script.
return

однажды я написал эти скрипты и скомпилировал их .exes я поместил их в SendTo по следуя этому руководству по HowToGeek.

вы также можете применить каждый скрипт к каждому типу файлов, но я не смотрел на это.

0
отвечен cyborgcommando0 2022-11-24 22:16

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх