OLE 개체 및 온라인 비디오 작업
OLE(Object Linking and Embedding)는 사용자가 타사 응용 프로그램에서 생성하거나 편집한 “개체"가 포함된 문서로 작업할 수 있는 기술입니다. 즉, OLE를 사용하면 편집 응용 프로그램에서 이러한 “객체"를 다른 편집 응용 프로그램으로 내보낸 다음 추가 콘텐츠와 함께 가져올 수 있습니다.
이 기사에서는 OLE 개체 삽입 및 속성 설정, 온라인 비디오를 문서에 삽입하는 방법에 대해 설명합니다.
OLE 개체 삽입
OLE 개체를 원하는 경우 insert_ole_object 메서드를 호출하고 다른 매개변수와 함께 명시적으로 ProgId를 전달합니다.
다음 코드 예제에서는 OLE 개체를 문서에 삽입하는 방법을 보여줍니다
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.insert_ole_object("http://www.aspose.com", "htmlfile", True, True, None) | |
doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_ole_object.docx") |
OLE 개체 삽입 시 파일 이름 및 확장자 설정
OLE 패키지는 OLE 처리기를 알 수 없는 경우 포함된 개체를 저장하는 레거시 및 “문서화되지 않은” 방법입니다.
Windows 3.1, 95, 98과 같은 초기 Windows 버전에는 모든 유형의 데이터를 문서에 포함시키는 데 사용할 수 있는 Packager.exe 응용 프로그램이 있었습니다. 이 애플리케이션은 이제 Windows에서 제외되지만 OLE 핸들러가 없거나 알 수 없는 경우 Microsoft Word 및 기타 애플리케이션은 여전히 이를 사용하여 데이터를 포함합니다. OlePackage
클래스를 사용하면 사용자가 OLE 패키지 속성에 액세스할 수 있습니다.
다음 코드 예제에서는 OLE 패키지의 파일 이름, 확장자 및 표시 이름을 설정하는 방법을 보여줍니다
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
stream = io.FileIO(docs_base.my_dir + "Zip file.zip") | |
shape = builder.insert_ole_object(stream, "Package", True, None) | |
olePackage = shape.ole_format.ole_package | |
olePackage.file_name = "filename.zip" | |
olePackage.display_name = "displayname.zip" | |
doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_ole_object_with_ole_package.docx") | |
stream.close() |
OLE 개체 원시 데이터에 액세스
사용자는 OleFormat
클래스의 다양한 속성과 메서드를 사용하여 OLE 개체 데이터에 액세스할 수 있습니다. 예를 들어, OLE
개체 원시 데이터 또는 연결된 OLE 개체에 대한 소스 파일의 경로 및 이름을 가져올 수 있습니다.
다음 코드 예제에서는 get_raw_data 메서드를 사용하여 OLE 개체 원시 데이터를 가져오는 방법을 보여줍니다
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
oleShape = doc.get_child(aw.NodeType.SHAPE, 0, True).as_shape() | |
oleRawData = oleShape.ole_format.get_raw_data() |
OLE 개체를 아이콘으로 삽입
OLE 개체를 이미지로 문서에 삽입할 수도 있습니다.
다음 코드 예제에서는 OLE 개체를 아이콘으로 삽입하는 방법을 보여줍니다. 이를 위해 DocumentBuilder 클래스는 insert_ole_object_as_icon 메서드를 노출합니다
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.insert_ole_object_as_icon(docs_base.my_dir + "Presentation.pptx", False, docs_base.images_dir + "Logo icon.ico", "My embedded file") | |
doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_ole_object_as_icon.docx") |
다음 코드 예제에서는 포함된 OLE 개체를 스트림의 아이콘으로 문서에 삽입하는 방법을 보여줍니다
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
stream = io.FileIO(docs_base.my_dir + "Presentation.pptx") | |
builder.insert_ole_object_as_icon(stream, "Package", docs_base.images_dir + "Logo icon.ico", "My embedded file") | |
doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_ole_object_as_icon_using_stream.docx") |
온라인 비디오 삽입
“삽입” > “온라인 비디오” 탭에서 온라인 비디오를 Word 문서에 삽입할 수 있습니다. insert_online_video 메서드를 호출하면 문서의 현재 위치에 온라인 비디오를 삽입할 수 있습니다.
DocumentBuilder 클래스는 이 메서드의 네 가지 오버로드를 도입합니다. 첫 번째는 가장 인기 있는 비디오 리소스로 작동하며 비디오의 URL
를 매개변수로 사용합니다. 예를 들어 첫 번째 오버로드는 유튜브 및 비메오 리소스에서 온라인 비디오의 간단한 삽입을 지원합니다.
다음 코드 예제에서는 Vimeo의 온라인 비디오를 문서에 삽입하는 방법을 보여줍니다
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Pass direct url from youtu.be.
url = "https://www.youtube.com/watch?v=t_1LYZ102RA"
width = 360
height = 270
shape = builder.insert_online_video(url, width, height)
doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_online_video.docx")
두 번째 오버로드는 다른 모든 비디오 리소스와 함께 작동하며 포함된 HTML 코드를 매개변수로 사용합니다. 동영상 삽입을 위한 HTML 코드는 제공업체에 따라 다를 수 있으므로 자세한 내용은 해당 제공업체에 문의하세요.
다음 코드 예제에서는 HTML 코드를 사용하여 문서에 온라인 비디오를 삽입하는 방법을 보여줍니다
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
# Shape width/height.
width = 360
height = 270
# Poster frame image.
f = open(docs_base.images_dir + "Logo.jpg", "rb")
imageBytes = f.read()
f.close()
# Visible url
vimeoVideoUrl = "https://vimeo.com/52477838"
# Embed Html code.
vimeoEmbedCode = ""
builder.insert_online_video(vimeoVideoUrl, vimeoEmbedCode, imageBytes, width, height)
doc.save(docs_base.artifacts_dir + "WorkingWithOleObjectsAndActiveX.insert_online_video_with_embed_html.docx")