{"id":413,"date":"2018-09-23T10:13:57","date_gmt":"2018-09-23T15:13:57","guid":{"rendered":"http:\/\/www.offtherichterdesign.com\/Blog\/?p=413"},"modified":"2018-12-12T15:44:13","modified_gmt":"2018-12-12T21:44:13","slug":"automate-significant-changes-to-pdfs-documents-with-actions-macros","status":"publish","type":"post","link":"https:\/\/offtherichterdesign.com\/Blog\/automate-significant-changes-to-pdfs-documents-with-actions-macros\/","title":{"rendered":"Automate Significant Changes to PDF Documents with Actions and Macros"},"content":{"rendered":"<p>Software Needed: Adobe Acrobat DC, Microsoft Word<\/p>\n<p>Tasked with making multiple changes to PDF documentation, I decided to automate the system rather then going through each document to update\/save accordingly.<\/p>\n<p>Essentially I was given 163 PDFs that required updates to verbiage and date periods, as well as the replacement of the last two pages of each document. Each date period needed to be saved as a separate file, so this meant of the 163 files I was given, 1141 files needed to be generated. This would be a daunting task without automation and frankly, who has the time? So, here&#8217;s how I made my PC work for me.<\/p>\n<p>To begin, I created an action in Adobe Acrobat DC to run through the directory storing all of my PDFs. The action effectively would run through all the PDFs, deleting the last two pages of the document, export to Microsoft Word, then save. This would give me the Word documents needed for the Macros to make the changes later.<\/p>\n<p><a href=\"http:\/\/www.offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/prepping-for-word-adobe-action.png\" data-rel=\"lightbox-image-0\" data-magnific_type=\"image\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-420\" src=\"http:\/\/www.offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/prepping-for-word-adobe-action-300x248.png\" alt=\"Adobe Acrobat Action Export to Word\" width=\"300\" height=\"248\" srcset=\"https:\/\/offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/prepping-for-word-adobe-action-300x248.png 300w, https:\/\/offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/prepping-for-word-adobe-action.png 718w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Here&#8217;s the Acro-JavaScript used to remove the last two pages of all of the documents within the PDF Directory as shown in the action above:<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/* remove last 2 pages *\/\r\n\r\nthis.deletePages({nStart: this.numPages-2, nEnd: this.numPages-1});\r\n<\/pre>\n<p>Here&#8217;s a screenshot of the save action used to export the PDF to Microsoft Word:<br \/>\n<a href=\"http:\/\/www.offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/pdf-export-word-action.png\" data-rel=\"lightbox-image-1\" data-magnific_type=\"image\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-422\" src=\"http:\/\/www.offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/pdf-export-word-action-300x248.png\" alt=\"Export to Word from Acrobat Action\" width=\"300\" height=\"248\" srcset=\"https:\/\/offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/pdf-export-word-action-300x248.png 300w, https:\/\/offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/pdf-export-word-action.png 718w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>After running the action in Adobe Acrobat to generate the Word documents, I used a few Macros in Word to make the verbiage and date updates. I began with the verbiage updates, as all documents required this change. The following Macro1 was created for this update.<\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub Macro1()\r\n'\r\n' Macro1 Macro\r\n'\r\n'\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;formulary-2018&quot;\r\n        .Replacement.Text = &quot;formulary-2019&quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;formulary-2018&quot;\r\n        .Replacement.Text = &quot;formulary-2019&quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveWindow.View.ShowFieldCodes = Not ActiveWindow.View.ShowFieldCodes\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;if you need mental&quot;\r\n        .Replacement.Text = &quot;if you need mental&quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute\r\n    With Selection\r\n        If .Find.Forward = True Then\r\n            .Collapse Direction:=wdCollapseStart\r\n        Else\r\n            .Collapse Direction:=wdCollapseEnd\r\n        End If\r\n        .Find.Execute Replace:=wdReplaceOne\r\n        If .Find.Forward = True Then\r\n            .Collapse Direction:=wdCollapseEnd\r\n        Else\r\n            .Collapse Direction:=wdCollapseStart\r\n        End If\r\n        .Find.Execute\r\n    End With\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.MoveRight Unit:=wdCell\r\n    Selection.TypeText Text:=&quot;Precertification may be required.&quot;\r\n    ActiveDocument.Save\r\n        \r\nEnd Sub\r\n<\/pre>\n<p>In addition to the script above, I needed an additional Macro to run through all the Word documents within the directory to call Macro1 for the verbiage updates:<\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub RUNTHROUGH()\r\nDim file\r\nDim path As String\r\n\r\npath = &quot;C:\\Users\\Travbot\\Desktop\\PDF Directory\\&quot;\r\n\r\nfile = Dir(path &amp; &quot;*.docx&quot;)\r\nDo While file &lt;&gt; &quot;&quot;\r\nDocuments.Open FileName:=path &amp; file\r\n\r\nCall Macro1\r\n\r\nActiveDocument.Save\r\nActiveDocument.Close\r\nfile = Dir()\r\nLoop\r\nEnd Sub\r\n<\/pre>\n<p>After running the RUNTHROUGH Macro for the verbiage updates, I was ready to create the Macros to make the date updates. For each of the following scripts, I used used the RUNTHROUGH script to call all of these scripts individually, then used a command in Powershell to rename each batch as I ran the Macro in Word.<\/p>\n<p><strong>Notice, Each of the following Macro&#8217;s makes the necessary changes, saves, then exports the document to PDF.<\/strong><\/p>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub MacroDATE1()\r\n'\r\n' MacroDATE1 Macro\r\n'\r\n'\r\nSelection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;What You Pay For Covered Services&quot; &amp; vbTab\r\n        .Replacement.Text = &quot;What You Pay For Covered Services &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period:&quot;\r\n        .Replacement.Text = _\r\n            &quot;          Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Replacement.Text = &quot;    Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Replacement.Text = &quot;    Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Replacement.Text = &quot;  Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveDocument.Save\r\n        ActiveDocument.ExportAsFixedFormat OutputFileName:= _\r\n        Replace(ActiveDocument.FullName, &quot;.docx&quot;, &quot;.pdf&quot;), ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _\r\n        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _\r\n        Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _\r\n        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _\r\n        BitmapMissingFonts:=True, UseISO19005_1:=False\r\nEnd Sub\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub MacroDATE2()\r\n'\r\n' MacroDATE2 Macro\r\n'\r\n'\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 01\/01\/2019 - 12\/31\/2019 &quot;\r\n        .Replacement.Text = &quot;Coverage Period: 02\/01\/2019 - 01\/31\/2020 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveDocument.Save\r\n        ActiveDocument.ExportAsFixedFormat OutputFileName:= _\r\n        Replace(ActiveDocument.FullName, &quot;.docx&quot;, &quot;.pdf&quot;), ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _\r\n        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _\r\n        Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _\r\n        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _\r\n        BitmapMissingFonts:=True, UseISO19005_1:=False\r\nEnd Sub\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub MacroDATE3()\r\n'\r\n' MacroDATE3 Macro\r\n'\r\n'\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 02\/01\/2019 - 01\/31\/2020 &quot;\r\n        .Replacement.Text = &quot;Coverage Period: 03\/01\/2019 - 02\/29\/2020 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveDocument.Save\r\n        ActiveDocument.ExportAsFixedFormat OutputFileName:= _\r\n        Replace(ActiveDocument.FullName, &quot;.docx&quot;, &quot;.pdf&quot;), ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _\r\n        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _\r\n        Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _\r\n        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _\r\n        BitmapMissingFonts:=True, UseISO19005_1:=False\r\nEnd Sub\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub MacroDATE4()\r\n'\r\n' MacroDATE4 Macro\r\n'\r\n'\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 03\/01\/2019 - 02\/29\/2020 &quot;\r\n        .Replacement.Text = &quot;Coverage Period: 04\/01\/2019 - 03\/31\/2020 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveDocument.Save\r\n        ActiveDocument.ExportAsFixedFormat OutputFileName:= _\r\n        Replace(ActiveDocument.FullName, &quot;.docx&quot;, &quot;.pdf&quot;), ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _\r\n        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _\r\n        Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _\r\n        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _\r\n        BitmapMissingFonts:=True, UseISO19005_1:=False\r\nEnd Sub\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub MacroDATE5()\r\n'\r\n' MacroDATE5 Macro\r\n'\r\n'\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 04\/01\/2019 - 03\/31\/2020 &quot;\r\n        .Replacement.Text = &quot;Coverage Period: 05\/01\/2019 - 04\/30\/2020 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveDocument.Save\r\n        ActiveDocument.ExportAsFixedFormat OutputFileName:= _\r\n        Replace(ActiveDocument.FullName, &quot;.docx&quot;, &quot;.pdf&quot;), ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _\r\n        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _\r\n        Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _\r\n        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _\r\n        BitmapMissingFonts:=True, UseISO19005_1:=False\r\nEnd Sub\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\nSub MacroDATE6()\r\n'\r\n' MacroDATE6 Macro\r\n'\r\n'\r\n    Selection.Find.ClearFormatting\r\n    Selection.Find.Replacement.ClearFormatting\r\n    With Selection.Find\r\n        .Text = &quot;Coverage Period: 05\/01\/2019 - 04\/30\/2020 &quot;\r\n        .Replacement.Text = &quot;Coverage Period: 06\/01\/2019 - 05\/31\/2020 &quot;\r\n        .Forward = True\r\n        .Wrap = wdFindContinue\r\n        .Format = False\r\n        .MatchCase = False\r\n        .MatchWholeWord = False\r\n        .MatchWildcards = False\r\n        .MatchSoundsLike = False\r\n        .MatchAllWordForms = False\r\n    End With\r\n    Selection.Find.Execute Replace:=wdReplaceAll\r\n    ActiveDocument.Save\r\n        ActiveDocument.ExportAsFixedFormat OutputFileName:= _\r\n        Replace(ActiveDocument.FullName, &quot;.docx&quot;, &quot;.pdf&quot;), ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _\r\n        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _\r\n        Item:=wdExportDocumentContent, IncludeDocProps:=False, KeepIRM:=True, _\r\n        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _\r\n        BitmapMissingFonts:=True, UseISO19005_1:=False\r\nEnd Sub\r\n<\/pre>\n<p>Here&#8217;s the Powershell command used to change the file names as each batch was produced:<\/p>\n<pre class=\"brush: powershell; title: ; notranslate\" title=\"\">\r\nget-childitem *.pdf | foreach { rename-item $_ $_.Name.Replace(&quot;WORD\/PHRASE TO REPLACE&quot;, &quot;REPLACEMENT WORD\/PHRASE&quot;) }\r\n<\/pre>\n<p>The last item was to create an action to add the two new pages to the end of each of the new PDFs. For this, another action was created in Adobe Acrobat.<\/p>\n<p><a href=\"http:\/\/www.offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/adobe-acrobat-add-pages-action.png\" data-rel=\"lightbox-image-2\" data-magnific_type=\"image\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-432\" src=\"http:\/\/www.offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/adobe-acrobat-add-pages-action-300x248.png\" alt=\"Add Pages Acrobat Action\" width=\"300\" height=\"248\" srcset=\"https:\/\/offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/adobe-acrobat-add-pages-action-300x248.png 300w, https:\/\/offtherichterdesign.com\/Blog\/wp-content\/uploads\/2018\/09\/adobe-acrobat-add-pages-action.png 718w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Software Needed: Adobe Acrobat DC, Microsoft Word Tasked with making multiple changes to PDF documentation, I decided to automate the system rather then going through each document to update\/save accordingly. Essentially I was given 163 PDFs that required updates to verbiage and date periods, as well as the replacement of the last two pages of&#8230;<\/p>\n<p class=\"more-link\"><a href=\"https:\/\/offtherichterdesign.com\/Blog\/automate-significant-changes-to-pdfs-documents-with-actions-macros\/\" class=\"themebutton3\">Read More<\/a><\/p>\n<p><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,105,8,107],"tags":[14,12,85,11,84,78,81,79,80,86,87,88,83,82],"class_list":["post-413","post","type-post","status-publish","format-standard","hentry","category-coding-with-coffee","category-acro-javascript","category-troubleshooting-with-trav","category-visual-basic","tag-acro-javascript","tag-acrobat","tag-acrobat-to-word","tag-adobe","tag-adobe-acrobat","tag-automation","tag-microsoft-word","tag-pdf","tag-pdf-actions","tag-powershell","tag-powershell-command","tag-rename-files-powershell","tag-word-automation","tag-word-macro"],"_links":{"self":[{"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/posts\/413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/comments?post=413"}],"version-history":[{"count":1,"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/posts\/413\/revisions"}],"predecessor-version":[{"id":505,"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/posts\/413\/revisions\/505"}],"wp:attachment":[{"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/media?parent=413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/categories?post=413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/offtherichterdesign.com\/Blog\/wp-json\/wp\/v2\/tags?post=413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}