View Single Post
 
Old 10-23-2023, 02:00 AM
Italophile Italophile is offline Windows 11 Office 2021
Expert
 
Join Date: Mar 2022
Posts: 542
Italophile is just really niceItalophile is just really niceItalophile is just really niceItalophile is just really nice
Default

Quote:
Originally Posted by hank1234 View Post
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
Attached Images
File Type: png Screenshot 2023-10-23 095858.png (9.0 KB, 15 views)
File Type: png Screenshot 2023-10-23 095918.png (9.4 KB, 15 views)
Reply With Quote