עקבו אחרי OLE Objects and online Video

OLE (Object Linking and Embedding) היא טכנולוגיה שבאמצעותה משתמשים יכולים לעבוד עם מסמכים המכילים “אובייקטים” שנוצרו על ידי יישומים של צד שלישי. כלומר, OLE מאפשר יישום עריכה לייצא אלה “אובייקטים” ליישום עריכה אחר ולאחר מכן לייבא אותם עם תוכן נוסף.

במאמר זה נדבר על הוספת אובייקט OLE והגדרת התכונות שלו, כמו גם הוספת וידאו מקוון לתוך מסמך.

המונחים: אובייקטים

אם אתה רוצה אובייקט מוחלט, התקשר InsertOleObject שיטה ולהעביר אותה ProgId במפורש עם פרמטרים אחרים.

דוגמה לקוד הבא מראה כיצד להוסיף אובייקטים במסמך:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertOleObject("http://www.aspose.com", "htmlfile", true, true, null);
dataDir = dataDir + "DocumentBuilderInsertOleObject_out.doc";
doc.Save(dataDir);

הגדרת שם הקובץ והרחבה בעת הוספת אובייקט OLE

חבילת OLE היא מורשת ו-“לא מטופלת” דרך לאחסן חפצים מוטבעים אם מטפל OLE אינו ידוע.

מוקדם Windows גרסאות כגון Windows 3.1,95 ו-98 היו חבילה. יישום exe שניתן להשתמש בו כדי להטביע כל סוג של נתונים במסמך. יישום זה נשלל כעת Windowsאבל Microsoft Word יישומים אחרים עדיין משתמשים בו כדי להטמיע נתונים אם המטפל חסר או לא ידוע. The The The OlePackage הכיתה מאפשרת למשתמשים לגשת לתכונות החבילה.

הדוגמה הבאה של הקוד מראה כיצד להגדיר את שם הקובץ, הרחבה, ואת שם התצוגה של חבילת OLE:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
byte[] bs = File.ReadAllBytes(dataDir + @"input.zip");
using (Stream stream = new MemoryStream(bs))
{
Shape shape = builder.InsertOleObject(stream, "Package", true, null);
OlePackage olePackage = shape.OleFormat.OlePackage;
olePackage.FileName = "filename.zip";
olePackage.DisplayName = "displayname.zip";
dataDir = dataDir + "DocumentBuilderInsertOleObjectOlePackage_out.doc";
doc.Save(dataDir);
}

גישה ל-OLE Object Raw Data

משתמשים יכולים לגשת לנתונים של OLE באמצעות תכונות ושיטות שונות של OleFormat מעמד. לדוגמה, ניתן לקבל את OLE אובייקטים נתונים גולמיים או הנתיב והשם של קובץ מקור עבור אובייקט OLE המקושר.

דוגמה לקוד הבא מראה כיצד להגיע ל-OLE נתונים גולמיים באמצעות GetRawData שיטה:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// Load document with OLE object.
Document doc = new Document(dataDir + "DocumentBuilderInsertTextInputFormField_out.doc");
Shape oleShape = (Shape)doc.GetChild(NodeType.Shape, 0, true);
byte[] oleRawData = oleShape.OleFormat.GetRawData();

המונחים: אובייקטים כאייקון

אובייקטים קטנים יכולים גם להיות מוכנסים למסמכים כתמונות.

הדוגמה הקודית הבאה מראה כיצד להכניס את אובייקט OLE כסמל. למטרה זו, DocumentBuilder השיעור חושף את InsertOleObjectAsIcon שיטה:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertOleObjectAsIcon(dataDir + "embedded.xlsx", false, dataDir + "icon.ico", "My embedded file");
doc.Save(dataDir + "EmbeddeWithIcon_out.docx");
Console.WriteLine("The document has been saved with OLE Object as an Icon.");

הדוגמה הקודית הבאה מראה כיצד להכניס אובייקט מוטבע כסמל מזרם לתוך המסמך:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.InsertOleObjectAsIcon(dataDir + "embedded.xlsx", false, dataDir + "icon.ico", "My embedded file");
using (MemoryStream stream = new MemoryStream(File.ReadAllBytes(dataDir + "embedded.xlsx")))
builder.InsertOleObjectAsIcon(stream, "Package", dataDir + "icon.ico", "My embedded file");
doc.Save(dataDir + "EmbeddeWithIconUsingStream_out.docx");
Console.WriteLine("The document has been saved with OLE Object as an Icon.");

הכנס וידאו באינטרנט

וידאו מקוון יכול להיות מוכנס לתוך מסמך Word מן * “Insert” > “Online Video” tab. באפשרותך להוסיף וידאו מקוון לתוך מסמך במיקום הנוכחי על ידי קריאה InsertOnlineVideo שיטה.

The The The DocumentBuilder הכיתה מציגה ארבעה מעלים של שיטה זו. הראשון עובד עם משאבי הווידאו הפופולריים ביותר ולוקח את URL וידאו כפרמטר. לדוגמה, העומס הראשון תומך בהכנסה פשוטה של קטעי וידאו מקוונים מ YouTube ו Vimeo משאבים.

דוגמה לקוד הבא מראה כיצד להכניס סרטון מקוון Vimeo לתוך מסמך:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
//The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithOnlineVideo();
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Pass direct url from youtu.be.
string url = "https://youtu.be/t_1LYZ102RA";
double width = 360;
double height = 270;
Shape shape = builder.InsertOnlineVideo(url, width, height);
dataDir = dataDir + "Insert.OnlineVideo_out_.docx";
doc.Save(dataDir);

עומס שני עובד עם כל משאבי וידאו אחרים ולוקח קוד HTML מוטבע כפרמטר. קוד HTML להטמעת וידאו עשוי להשתנות בהתאם לספק, כך ליצור קשר עם הספק המתאים לפרטים.

הדוגמה הבאה של הקוד מראה כיצד להכניס סרטון מקוון לתוך מסמך באמצעות קוד HTML כזה:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
//The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithOnlineVideo();
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Shape width/height.
double width = 360;
double height = 270;
// Poster frame image.
byte[] imageBytes = File.ReadAllBytes("TestImage.jpg");
// Visible url
string vimeoVideoUrl = @"https://vimeo.com/52477838";
// Embed Html code.
string vimeoEmbedCode = "";
builder.InsertOnlineVideo(vimeoVideoUrl, vimeoEmbedCode, imageBytes, width, height);
dataDir = dataDir + "Insert.OnlineVideo_out_.docx";
doc.Save(dataDir);