Praca z obiektami OLE i wideo online

OLE (Object Linking and Embedding) to technologia, dzięki której użytkownicy mogą pracować z dokumentami zawierającymi “obiekty” utworzone lub edytowane przez aplikacje innych firm. Oznacza to, że OLE pozwala aplikacji edycyjnej wyeksportować te “obiekty” do innej aplikacji edycyjnej, a następnie zaimportować je z dodatkową zawartością.

W tym artykule omówimy wstawianie obiektu OLE i ustawianie jego właściwości, a także wstawianie wideo online do dokumentu.

Wstaw obiekt OLE

Jeśli chcesz obiekt OLE, wywołaj metodę insert_ole_object i przekaż jawnie ProgId z innymi parametrami.

Poniższy przykład kodu pokazuje, jak wstawić obiekt OLE do dokumentu:

Ustaw nazwę pliku i rozszerzenie podczas wstawiania obiektu OLE

Pakiet OLE to starsza i “nieudokumentowana” metoda przechowywania osadzonych obiektów, jeśli procedura obsługi OLE jest nieznana.

Wczesne wersje Windows, takie jak Windows 3.1, 95 i 98, zawierały aplikację Packager.exe, której można było używać do osadzania dowolnego typu danych w dokumencie. Ta aplikacja jest teraz wykluczona z Windows, ale Microsoft Word i inne aplikacje nadal używają jej do osadzania danych, jeśli brakuje modułu obsługi OLE lub jest on nieznany. Klasa OlePackage umożliwia użytkownikom dostęp do właściwości pakietu OLE.

Poniższy przykład kodu pokazuje, jak ustawić nazwę pliku, rozszerzenie i nazwę wyświetlaną dla pakietu OLE:

Uzyskaj dostęp do nieprzetworzonych danych obiektu OLE

Użytkownicy mogą uzyskać dostęp do danych obiektowych OLE za pomocą różnych właściwości i metod klasy OleFormat. Na przykład możliwe jest uzyskanie nieprzetworzonych danych obiektu OLE lub ścieżki i nazwy pliku źródłowego połączonego obiektu OLE.

Poniższy przykład kodu pokazuje, jak uzyskać surowe dane obiektu OLE przy użyciu metody get_raw_data:

Wstaw obiekt OLE jako ikonę

Obiekty OLE można również wstawiać do dokumentów jako obrazy.

Poniższy przykład kodu pokazuje, jak wstawić obiekt OLE jako ikonę. W tym celu klasa DocumentBuilder udostępnia metodę insert_ole_object_as_icon:

Poniższy przykład kodu pokazuje, jak wstawić osadzony obiekt OLE jako ikonę ze strumienia do dokumentu:

Wstaw wideo online

Wideo online można wstawić do dokumentu programu Word za pomocą karty * “Wstaw” > “Wideo online”*. Możesz wstawić wideo online do dokumentu w bieżącej lokalizacji, wywołując metodę insert_online_video.

Klasa DocumentBuilder wprowadza cztery przeciążenia tej metody. Pierwszy z nich współpracuje z najpopularniejszymi zasobami wideo i jako parametr przyjmuje URL wideo. Na przykład pierwsze przeciążenie obsługuje proste wstawianie filmów online z zasobów Youtube i Vimeo.

Poniższy przykład kodu pokazuje, jak wstawić wideo online z Vimeo do dokumentu:

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")

Drugie przeciążenie działa ze wszystkimi innymi zasobami wideo i jako parametr przyjmuje osadzony kod HTML. Kod HTML umożliwiający osadzanie filmu wideo może się różnić w zależności od dostawcy, dlatego w celu uzyskania szczegółowych informacji należy skontaktować się z odpowiednim dostawcą.

Poniższy przykład kodu pokazuje, jak wstawić wideo online do dokumentu przy użyciu takiego kodu 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")