"\u003Cdiv\u003E\u003Cp\u003E\u003Cstrong\u003EAspose.Slides for .NET\u003C\u002Fstrong\u003E是一個PPT演示控件,使應用程序能夠讀取,編寫,修改和轉換PowerPoint演示文稿。作爲獨立的API,它提供了管理PowerPoint關鍵功能的功能,例如管理文本,形狀,表格和動畫,向幻燈片添加音頻和視頻,預覽幻燈片等,而無需Microsoft PowerPoint。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003EAspose.Slides for .NET更新至v19.7,新增支持在圖表數據工作表中清除特定圖表系列數據點數據,支持段落級編輯的動畫效果API,修復多項Bug!\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cstrong\u003E新增與改善\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-41223 以常用方式獲取形狀的佈局樣式 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-40010 在圖表中設置外部工作簿的外部工作簿路徑 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-33910 在一個位置爲圖表實體設置字體相關屬性 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-33742 爲圖表區域設置字體相關屬性 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-34685 linewithmarker圖表的默認自動標記符號 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-35440 僅支持在圖表數據工作表中清除特定圖表系列數據點數據 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-36453 支持段落級編輯的動畫效果API 新功能 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-41185 將PPTX轉換爲PdfNotes時,質量很差 增強 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-41215 OLE嵌入式對象支持OpenDocument 增強 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003ESLIDESNET-35712 啓用和禁用圖表系列值 增強 \u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003E\u003Cstrong\u003E· · · · · ·\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003Cp class=\"ql-align-center\"\u003E更多更新細則請點擊文末\u003Cstrong\u003E“瞭解更多”\u003C\u002Fstrong\u003E查看\u003C\u002Fp\u003E\u003Ch1\u003E\u003Cstrong\u003E▲添加了另一個選項以設置外部工作簿路徑\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cp\u003E參數updateChartData定義是否加載excel工作簿。如果value爲false,則僅更新工作簿路徑。不會從目標工作簿加載和更新圖表數據。當目標工作簿尚不存在或不可用時,它很有用。如果值爲true,則將按照常規方法SetExternalWorkbook更新目標工作簿中的圖表數據。\u003C\u002Fp\u003E\u003Cpre\u003Eusing (Presentation pres = new Presentation())\u003Cbr\u003E{\u003Cbr\u003E IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Pie, 50, 50, 400, 600, true);\u003Cbr\u003E IChartData chartData = chart.ChartData;\u003Cbr\u003E \u003Cbr\u003E (chartData as ChartData).SetExternalWorkbook(\"http:\u002F\u002Fpath\u002Fdoesnt\u002Fexists\", false);\u003Cbr\u003E \u003Cbr\u003E}\u003Cbr\u003E\u003C\u002Fpre\u003E\u003Cp\u003E在某些情況下,用戶必須自己實現工作簿數據的檢索。例如,如果訪問受密碼保護的源。在這種情況下,用戶可以使用IResourceLoadingCallback。\u003C\u002Fp\u003E\u003Cpre\u003Epublic void SetExternalWorkbookMethodNetwork()\u003Cbr\u003E{\u003Cbr\u003E string externalWbPath = @\"http:\u002F\u002F606178d2.ngrok.io\u002Fwebgrind\u002Fstyles\u002F2.xlsx\";\u003Cbr\u003E LoadOptions opts = new LoadOptions();\u003Cbr\u003E opts.ResourceLoadingCallback = new WorkbookLoadingHandler();\u003Cbr\u003E \u003Cbr\u003E using (Presentation pres = new Presentation(opts))\u003Cbr\u003E {\u003Cbr\u003E IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Pie, 50, 50, 400, 600, false);\u003Cbr\u003E IChartData chartData = chart.ChartData;\u003Cbr\u003E \u003Cbr\u003E (chartData as ChartData).SetExternalWorkbook(externalWbPath);\u003Cbr\u003E }\u003Cbr\u003E}\u003Cbr\u003E \u003Cbr\u003E \u003Cbr\u003Eprivate class WorkbookLoadingHandler : IResourceLoadingCallback\u003Cbr\u003E{\u003Cbr\u003E public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args)\u003Cbr\u003E {\u003Cbr\u003E string workbookPath = args.OriginalUri;\u003Cbr\u003E \u003Cbr\u003E if (workbookPath.IndexOf(':') > 1 && !workbookPath.StartsWith(\"file:\u002F\u002F\u002F\")) \u002F\u002F schemed path\u003Cbr\u003E {\u003Cbr\u003E try\u003Cbr\u003E {\u003Cbr\u003E WebRequest request = WebRequest.Create(workbookPath);\u003Cbr\u003E request.Credentials = new System.Net.NetworkCredential(\"testuser\", \"testuser\");\u003Cbr\u003E using (WebResponse response = request.GetResponse())\u003Cbr\u003E using (Stream responseStream = response.GetResponseStream())\u003Cbr\u003E {\u003Cbr\u003E byte[] buffer = BlobDownloadManager.Download(responseStream);\u003Cbr\u003E args.SetData(buffer);\u003Cbr\u003E return ResourceLoadingAction.UserProvided;\u003Cbr\u003E }\u003Cbr\u003E }\u003Cbr\u003E catch (Exception ex)\u003Cbr\u003E {\u003Cbr\u003E throw new InvalidOperationException(ex.ToString());\u003Cbr\u003E }\u003Cbr\u003E }\u003Cbr\u003E else\u003Cbr\u003E {\u003Cbr\u003E return ResourceLoadingAction.Default;\u003Cbr\u003E }\u003Cbr\u003E }\u003Cbr\u003E}\u003Cbr\u003E\u003C\u002Fpre\u003E\u003Ch1\u003E\u003Cstrong\u003E▲Sequence類和ISequence接口中添加了新的AddEffect方法\u003C\u002Fstrong\u003E\u003C\u002Fh1\u003E\u003Cp\u003E在ISequence 接口和Sequence 類中添加了AddEffect(IParagraph段落,EffectType effectType,EffectSubtype子類型,EffectTriggerType triggerType)方法。它允許爲單個段落添加新的動畫效果。\u003C\u002Fp\u003E\u003Cpre\u003Eusing (Presentation presentation = new Presentation(path + \"input.pptx\")\u003Cbr\u003E{\u003Cbr\u003E \u002F\u002F select paragraph to add effect\u003Cbr\u003E IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0];\u003Cbr\u003E IParagraph paragraph = autoShape.TextFrame.Paragraphs[0];\u003Cbr\u003E \u003Cbr\u003E \u002F\u002F add Fly animation effect to selected paragraph\u003Cbr\u003E IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick);\u003Cbr\u003E}\u003Cbr\u003E\u003C\u002Fpre\u003E\u003Cp\u003E點擊下方“瞭解更多”免費下載\u003Cstrong\u003EAspose.Slides for .NET最新版\u003C\u002Fstrong\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E"'.slice(6, -6), groupId: '6718983500810158600
相關文章