Quote:
Originally Posted by hank1234
Thank you for your feedback on the issue.
Firstly, to clarify, the provided testfile1.doc and testfile2.docx do have empty headers where the logos should be inserted. If you save the logos in the C:\Test folder and execute the code on the test documents, you'll be able to replicate the issue I mentioned.
I appreciate your point on setting the height and width explicitly, and I've tried this approach. However, the issue persists specifically with .doc files and .docx files in compatibility mode. Locking the aspect ratio was one of the methods I attempted to maintain the proportions, but it didn't rectify the problem.
Regarding the image formats, I understand the merits of SVGs and PNGs over JPEGs for scaling. But the main concern here isn't about the quality of the scaled image; rather, it's about the proportions of the logos being distorted exclusively in the .doc files and .docx files running in compatibility mode.
If you could help address this specific problem or point me towards any workarounds, it would be greatly appreciated.
|
When you did your troubleshooting, did you bother to check the height of the "stretched" image? If you had you would see that it is still at the original height.
As I said to you originally you should set the images to the correct height before you insert them. That way you will have less code and no potential for problems.
The following code works perfectly in Compatibility Mode:
Code:
' Check if the current header is for the first page or subsequent pages
If oHead.index = wdHeaderFooterFirstPage Then
Set oShape = .InlineShapes.AddPicture(filename:=strLogoFrontpage)
With oShape
.LockAspectRatio = msoTrue
.Width = CentimetersToPoints(3.94)
.Height = CentimetersToPoints(3.94)
.AlternativeText = "frontpage"
End With
ElseIf oHead.index = wdHeaderFooterPrimary Then
Set oShape = .InlineShapes.AddPicture(filename:=strLogoSubsequentPages)
With oShape
.LockAspectRatio = msoTrue
.Width = CentimetersToPoints(0.73)
.Height = CentimetersToPoints(0.73)
.AlternativeText = "subsequent page"
End With
End If