Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 06-12-2012, 03:58 PM
WaltR WaltR is offline Windows Vista Office 2007
Competent Performer
Endnotes aren't preserved when saving as PDF
 
Join Date: Dec 2010
Posts: 123
WaltR is on a distinguished road
Default Endnotes aren't preserved when saving as PDF

I installed the plugin for Word 2007 that lets you save as PDF. I tried it and it works okay, but it didn't preserve my endnotes. They're there, you can see them, but they don't work as hyperlinks. I looked through all the save options but didn't see anything relevant. Is it even possible in Word 2007? I tried the PDF in Foxit Reader and PDF XChange Viewer. Do I need to use a different PDF viewer or would it just be a waste of time. Appreciate any advice.
Reply With Quote
  #2  
Old 06-12-2012, 05:31 PM
macropod's Avatar
macropod macropod is offline Endnotes aren't preserved when saving as PDF Windows 7 64bit Endnotes aren't preserved when saving as PDF Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 21,963
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Hi Walt,

The PDF conversion process doesn't preserve such links. What you could do, though, is create true hyperlinks in the document between the endnotes and their references before doing the PDF conversion.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]
Reply With Quote
  #3  
Old 06-13-2012, 09:46 AM
WaltR WaltR is offline Windows Vista Office 2007
Competent Performer
Endnotes aren't preserved when saving as PDF
 
Join Date: Dec 2010
Posts: 123
WaltR is on a distinguished road
Default

Thank you macropod. I've already got 1619 endnotes and I'm not even half done. Is it possible to convert them all at once. I'm not gonna do them all one by one. I'll just live with it.

Thanks for confirming that Word doesn't automatically convert. At least I can quit spending any more time on that.
Reply With Quote
  #4  
Old 06-13-2012, 05:13 PM
macropod's Avatar
macropod macropod is offline Endnotes aren't preserved when saving as PDF Windows 7 64bit Endnotes aren't preserved when saving as PDF Office 2010 32bit
Administrator
 
Join Date: Dec 2010
Location: Canberra, Australia
Posts: 21,963
macropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond reputemacropod has a reputation beyond repute
Default

Hi Walt,

When a document is saved in PDF format, endnote & footnote references cease to act as hyperlinks. The following macro replicates the endnote & footnote references (which become hidden text) with bookmarked hyperlinks. The second macro (KillEndNoteFootNoteHyperLinks) reverses the process.

Word's Note References always point to the reference in the body of the document, not to the endnote or footnote itself. Likewise, Note References don’t display the corresponding endnote/footnote text as a screen tip. The HyperlinkEndNotesFootNotes macro doesn't change that behaviour. To have the Note References hyperlink to the actual endnote or footnote – and display the corresponding endnote/footnote text as a screen tip – you could use the third macro (HLnkNoteRefs). The fourth macro (KillHLnkNoteRefs) reverses the process.

Macro 1:
Code:
Sub HyperlinkEndNotesFootNotes()
' Turn Off Screen Updating
Application.ScreenUpdating = False
Dim SBar As Boolean           ' Status Bar flag
Dim TrkStatus As Boolean      ' Track Changes flag
Dim Rng1 As Range, Rng2 As Range, i As Long
' Store current Status Bar status, then switch on
SBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
' Store current Track Changes status, then switch off
With ActiveDocument
  TrkStatus = .TrackRevisions
  .TrackRevisions = False

  'Process all endnotes
  For i = 1 To .Endnotes.Count
    'Give the OS a chance to do any background processing
    DoEvents
    'Update the statusbar
    StatusBar = "Processing Endnote " & i
    'Define two ranges: one to the endnote reference the other to the endnote content
    Set Rng1 = .Endnotes(i).Reference
    Set Rng2 = .Endnotes(i).Range.Paragraphs.First.Range
    With Rng1
      'Format the endnote reference as hidden text
      .Font.Hidden = True
      'Insert a number before the endnote reference and bookmark it
      .Collapse wdCollapseStart
      .Text = i
      .Style = wdStyleEndnoteReference
      .Bookmarks.Add Name:="_ERef" & i, Range:=Rng1
    End With
    'Insert a number before the endnote content and bookmark it
    With Rng2
      'Format the endnote reference as hidden text
      With .Words.First
        If .Characters.Last Like "[ " & vbTab & "]" Then .End = .End - 1
        .Font.Hidden = True
      End With
      'Insert a number before the endnote reference and bookmark it
      .Collapse wdCollapseStart
      .Text = i
      .Style = "Endnote Reference"
      .Bookmarks.Add Name:="_ENum" & i, Range:=Rng2
    End With
    'Insert hyperlinks between the endnote references
    .Hyperlinks.Add Anchor:=Rng1, SubAddress:="_ENum" & i, ScreenTip:=.Endnotes(i).Range.Text
    .Hyperlinks.Add Anchor:=Rng2, SubAddress:="_ERef" & i
    'Restore the Rng1 endnote reference bookmark
    .Bookmarks.Add Name:="_ERef" & i, Range:=Rng1
  Next
 
  'Process all footnotes
  For i = 1 To .Footnotes.Count
    'Give the OS a chance to do any background processing
    DoEvents
    'Update the statusbar
    StatusBar = "Processing Footnote " & i
    'Define two ranges: one to the footnote reference the other to the footnote content
    Set Rng1 = .Footnotes(i).Reference
    Set Rng2 = .Footnotes(i).Range.Paragraphs.First.Range
    With Rng1
      'Format the footnote reference as hidden text
      .Font.Hidden = True
      'Insert a number before the footnote reference and bookmark it
      .Collapse wdCollapseStart
      .Text = i
      .Style = "Footnote Reference"
      .Bookmarks.Add Name:="_FRef" & i, Range:=Rng1
    End With
    'Insert a number before the footnote content and bookmark it
    With Rng2
      'Format the footnote reference as hidden text
      With .Words.First
        If .Characters.Last Like "[ " & vbTab & "]" Then .End = .End - 1
        .Font.Hidden = True
      End With
      'Insert a number before the footnote reference and bookmark it
      .Collapse wdCollapseStart
      .Text = i
      .Style = wdStyleFootnoteReference
      .Bookmarks.Add Name:="_FNum" & i, Range:=Rng2
    End With
    'Insert hyperlinks between the footnote references
    .Hyperlinks.Add Anchor:=Rng1, SubAddress:="_FNum" & i, ScreenTip:=.Footnotes(i).Range.Text
    .Hyperlinks.Add Anchor:=Rng2, SubAddress:="_FRef" & i
    'Restore the Rng1 footnote reference bookmark
    .Bookmarks.Add Name:="_FRef" & i, Range:=Rng1
  Next

  ' Restore original Track Changes status
  .TrackRevisions = TrkStatus
  'Update the statusbar
  StatusBar = "Finished Processing " & .Endnotes.Count & " Endnotes" & .Footnotes.Count & " Footnotes"
End With
Set Rng1 = Nothing: Set Rng2 = Nothing
' Restore original Status Bar status
Application.DisplayStatusBar = SBar
' Restore Screen Updating
Application.ScreenUpdating = True
End Sub
Note:To display the footnote/endnote cross-references as hyperlinks without the screentip, simply delete:
, ScreenTip:=.Endnotes(i).Range.Text
and
, ScreenTip:=.Footnotes(i).Range.Text

Macro 2:
Code:
Sub KillEndNoteFootNoteHyperLinks()
Dim SBar As Boolean           ' Status Bar flag
Dim TrkStatus As Boolean      ' Track Changes flag
Dim Rng1 As Range, Rng2 As Range, i As Long
' Store current Status Bar status, then switch on
SBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
' Store current Track Changes status, then switch off
With ActiveDocument
  TrkStatus = .TrackRevisions
  .TrackRevisions = False
End With
' Turn Off Screen Updating
Application.ScreenUpdating = False
With ActiveDocument

  'Delete endnote/footnote hyperlinks from the MainStory
  For i = .Hyperlinks.Count To 1 Step -1
    With .Hyperlinks(i)
      StatusBar = "Processing Hyperlink " & i
      If .SubAddress Like "_ENum*" Then
        .Range.Delete
      ElseIf .SubAddress Like "_FNum*" Then
        .Range.Delete
      End If
    End With
  Next i

  'Delete endnote hyperlinks from the EndnotesStory
  If .Endnotes.Count > 0 Then
    With .StoryRanges(wdEndnotesStory)
      For i = .Hyperlinks.Count To 1 Step -1
        StatusBar = "Processing Endnote Hyperlink " & i
        With .Hyperlinks(i)
          If .SubAddress Like "_ERef*" Then .Range.Delete
        End With
      Next i
    End With
  End If

  'Delete footnote hyperlinks from the FootnotesStory
  If .Footnotes.Count > 0 Then
    With .StoryRanges(wdFootnotesStory)
      For i = .Hyperlinks.Count To 1 Step -1
        StatusBar = "Processing Footnote Hyperlink " & i
        With .Hyperlinks(i)
          If .SubAddress Like "_FRef*" Then .Range.Delete
        End With
      Next i
    End With
  End If

  'Process all endnotes
  For i = 1 To .Endnotes.Count
    'Update the statusbar
    StatusBar = "Processing Endnote " & i
    'Define two ranges: one to the endnote reference the other to the endnote content
    Set Rng1 = .Endnotes(i).Reference
    Set Rng2 = .Endnotes(i).Range.Paragraphs.First.Range
    'Format the endnote reference as visible text
    Rng1.Font.Hidden = False
    Rng2.Words.First.Font.Hidden = False
  Next

  'Process all footnotes
  For i = 1 To .Footnotes.Count
    'Update the statusbar
    StatusBar = "Processing Footnote " & i
    'Define two ranges: one to the footnote reference the other to the footnote content
    Set Rng1 = .Footnotes(i).Reference
    Set Rng2 = .Footnotes(i).Range.Paragraphs.First.Range
    'Format the footnote reference as visible text
    Rng1.Font.Hidden = False
    Rng2.Words.First.Font.Hidden = False
  Next

  'Update the statusbar
  StatusBar = "Finished Processing " & .Endnotes.Count & " Endnotes" & .Footnotes.Count & " Footnotes"
End With
Set Rng1 = Nothing: Set Rng2 = Nothing
' Restore original Status Bar status
Application.DisplayStatusBar = SBar
' Restore original Track Changes status
ActiveDocument.TrackRevisions = TrkStatus
' Restore Screen Updating
Application.ScreenUpdating = True
End Sub
Macro 3:
Code:
Sub HLnkNoteRefs()
Dim Fld As Field, StrTgt As String, Rng As Range, StrRef As String, StrTxt As String
For Each Fld In ActiveDocument.Fields
  With Fld
    If .Type = wdFieldNoteRef Then
      StrTgt = Split(Trim(.Code), " ")(1)
      With ActiveDocument.Bookmarks(Split(Trim(.Code), " ")(1)).Range
        If .Footnotes.Count = 1 Then
          StrTxt = .Footnotes(1).Range.Text
        Else
          StrTxt = .Endnotes(1).Range.Text
        End If
      End With
      Set Rng = Fld.Result.Characters.First.Previous: StrRef = Fld.Result.Text
      With Rng
        .Start = .Start + 1
        .Collapse wdCollapseStart
        .Hyperlinks.Add Anchor:=Rng, SubAddress:=StrTgt, TextToDisplay:=StrRef, ScreenTip:=StrTxt
        .End = .End + 1
        .Hyperlinks(1).Range.Font.Superscript = True
      End With
      .Result.Font.Hidden = True
    End If
  End With
Next
End Sub
To make this process automatic, you could insert:
Call HLnkNoteRefs
after the final:
Next
in the HyperLinkEndNoteFootNotes macro.

Note:To display the footnote/endnote cross-references as hyperlinks without the screentip, simply delete:
, ScreenTip:=StrTxt

Macro 4:
Code:
Sub KillHLnkNoteRefs()
Dim Fld As Field
For Each Fld In ActiveDocument.Fields
  With Fld
    If .Type = wdFieldNoteRef Then
      .Result.Font.Hidden = False
    End If
  End With
Next
End Sub
To make this process automatic, you could insert:
Call KillHLnkNoteRefs
after the final:
Next
in the KillEndNoteFootNoteHyperLinks macro.


PS: Macros 1 & 2 reports their progress on Word's status bar.
__________________
Cheers,
Paul Edstein
[Fmr MS MVP - Word]

Last edited by macropod; 07-30-2017 at 10:03 PM.
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Changing footnotes to endnotes Sarah Word 3 04-27-2017 08:55 PM
Endnotes aren't preserved when saving as PDF Separating endnotes from text kenglade Word 22 09-14-2012 04:10 PM
Endnotes aren't preserved when saving as PDF My .ppsx files aren't launching as slideshows namedujour PowerPoint 0 01-17-2012 09:42 AM
Endnotes aren't preserved when saving as PDF Copying endnotes kenglade Word 4 12-03-2011 01:26 PM
Index entries in endnotes perhj Word 0 06-19-2011 09:28 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 03:38 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft