Copy link to clipboard
Copied
The document source I have is DITA XML with links to 20-50 external Visio files.
When I open the XML file in Frame, it takes several minutes (up to 5 minutes) to load.
Is there an issue with invoking Visio in the background for each individual Visio filles?
When I use .fm/.mif as source, there is no performance issue.
Copy link to clipboard
Copied
The FM binary and MIF files store the rendered metafile format of the Visio drawing along with the link. When you use any XML version with a link, FM would have to render each link every time it is referenced [no rendered version gets stored in the XML file], so this is where you are most likely running into the long load times.
Creating PDFs [and then EPS files from those] from the Visio files and referencing those would speed things up as FM only reads and displays the preview component while working on the content.
Copy link to clipboard
Copied
I have also had great success with XML and the WMF format saved from Visio, for many years. Since you are using Visio within FM, it seems like you are not leaving the Windows environment, so maybe this is an option. I think that fonts are not saved, so any fonts in an image would need to be on that computer, but the same thing would be true for a Visio OLE object.
It is very simple to write a macro in Visio to automatically save as WMF. Here's one I use to save as both WMF and PNG:
Sub Save_as_PNG_WMF()
Dim path As String
Dim newpath As String
Dim length As Integer
' Get the document path
path = Application.ActiveWindow.Document.FullName
' get the length of the path, to be used for truncation
length = Len(path)
' change our filename to have a wmf extension
newpath = Left(path, length - 4)
newpath = newpath + ".wmf"
' save the wmf
Application.ActiveWindow.Page.Export newpath
' do the same for png
newpath = Left(path, length - 4)
newpath = newpath + ".png"
Application.ActiveWindow.Page.Export newpath
End Sub
Russ
Copy link to clipboard
Copied
thank you for the pointer. I will try this.
Copy link to clipboard
Copied
thank you. If that is the only way, and it makes sense, then I will use the macro from the next reply to auto-create those.