OleObjectFrame 추가 시 객체 미리 보기 문제
소개
Aspose.Slides for .NET을 사용하여 슬라이드에 OleObjectFrame을 추가하면 출력 슬라이드에 “EMBEDDED OLE OBJECT” 메시지가 표시됩니다. 이 메시지는 의도된 동작이며 버그가 아닙니다.
OLE 객체 작업에 대한 자세한 내용은 Manage OLE를 참조하십시오.
설명 및 해결 방법
Aspose.Slides는 OLE 객체가 변경되었으며 미리 보기 이미지가 업데이트되어야 함을 알리기 위해 “EMBEDDED OLE OBJECT” 메시지를 표시합니다.
예를 들어, Microsoft Excel 차트를 OleObjectFrame으로 슬라이드에 추가하고(자세한 내용은 “Manage OLE” 문서 참고) Microsoft PowerPoint에서 프레젠테이션을 열면 슬라이드에 다음과 같은 이미지가 표시됩니다:

OLE 객체가 슬라이드에 추가되었는지 확인하려면 “EMBEDDED OLE OBJECT” 메시지를 더블 클릭하거나 오른쪽 클릭한 다음 Object > Edit 옵션을 선택하면 됩니다.

PowerPoint가 삽입된 OLE 객체를 엽니다.

슬라이드에는 여전히 “EMBEDDED OLE OBJECT” 메시지가 남아 있을 수 있습니다. OLE 객체를 클릭하면 슬라이드 미리 보기가 업데이트되고 “EMBEDDED OLE OBJECT” 메시지가 OLE 객체의 실제 이미지로 교체됩니다.

이제 프레젠테이션을 저장하여 OLE 객체 이미지가 올바르게 업데이트되었는지 확인할 수 있습니다. 이렇게 하면 프레젠테이션을 다시 열었을 때 “EMBEDDED OLE OBJECT” 메시지가 나타나지 않습니다.
다른 해결 방법
솔루션 1: “Embedded OLE Object” 메시지를 이미지로 교체
PowerPoint에서 프레젠테이션을 열고 저장하여 “EMBEDDED OLE OBJECT” 메시지를 제거하고 싶지 않은 경우, 원하는 미리 보기 이미지로 메시지를 교체할 수 있습니다. 아래 코드는 그 과정을 보여줍니다:
using var presentation = new Presentation("embeddedOLE.pptx");
var slide = presentation.Slides[0];
var oleFrame = (IOleObjectFrame)slide.Shapes[0];
// Add an image to presentation resources.
using var imageStream = File.OpenRead("myImage.png");
var oleImage = presentation.Images.AddImage(imageStream);
// Set a title and the image for the OLE object preview.
oleFrame.SubstitutePictureTitle = "My title";
oleFrame.SubstitutePictureFormat.Picture.Image = oleImage;
oleFrame.IsObjectIcon = false;
presentation.Save("embeddedOLE-newImage.pptx", SaveFormat.Pptx);
OleObjectFrame을 포함한 슬라이드는 다음과 같이 변경됩니다:

솔루션 2: PowerPoint용 애드온 만들기
Microsoft PowerPoint용 애드온을 만들어 프로그램에서 프레젠테이션을 열 때 모든 OLE 객체를 업데이트하도록 할 수도 있습니다.