如何设置HtmlSaveOptions以保存HTML和资源以使用Aspose PDF进行流式传输

加里

我正在尝试使用Aspose.PDF从数据库中加载PDF,将其转换为HTML并将其呈现到我们的网页中。我想知道自从Aspose文档中的当前示例以来,我们是否可以同时保存文档和要流式传输的资源.PDF将CSS和图像保存到本地路径。我已经尝试过了,但是不支持Aspose.Pdf.SaveFormat.Html。

Aspose.Pdf.Document PDFDocument = new Aspose.Pdf.Document(PDFStream); MemoryStream HTMLStreamFromPDF = new MemoryStream(); PDFDocument.Save(HTMLStreamFromPDF, Aspose.Pdf.SaveFormat.Html);

如果可以完成,如何编写HtmlSaveOptions的CustomResourceSavingStrategy,CustomCssSavingStrategy和CustomStrategyOfCssUrlCreation的参数。对不起,我对C#中的委托不太熟悉

谢谢!

加里

最终找到了一种保存所有文件以流式传输的方法。

        MemoryStream HTMLStreamFromPDF = new MemoryStream();
        List<MemoryStream>  ResourseStreamList = new List<MemoryStream>();
        List<string> ResourceNameList = new List<string>();
        MemoryStream CSSStream = new MemoryStream();
        Aspose.Pdf.HtmlSaveOptions saveOptions = new Aspose.Pdf.HtmlSaveOptions();
        CustomResourcesProcessingBind customResourcesProcessingBind = new CustomResourcesProcessingBind((_1) => CustomResourcesProcessing(ResourseStreamList,ResourceNameList, RequestURL, _1));
        saveOptions.CustomResourceSavingStrategy = new Aspose.Pdf.HtmlSaveOptions.ResourceSavingStrategy(customResourcesProcessingBind);
        CssUrlCreationCustomStrategyBind cssUrlCreationCustomStrategyBind = new CssUrlCreationCustomStrategyBind((_1) => CssUrlCreationCustomStrategy(RequestURL, _1));
        saveOptions.CustomStrategyOfCssUrlCreation = new Aspose.Pdf.HtmlSaveOptions.CssUrlMakingStrategy(cssUrlCreationCustomStrategyBind);
        CustomCssSavingProcessingBind customCssSavingProcessingBind = new CustomCssSavingProcessingBind((_1) => CustomCssSavingProcessing(CSSStream, _1));
        saveOptions.CustomCssSavingStrategy = new Aspose.Pdf.HtmlSaveOptions.CssSavingStrategy(customCssSavingProcessingBind);
        saveOptions.HtmlMarkupGenerationMode = Aspose.Pdf.HtmlSaveOptions.HtmlMarkupGenerationModes.WriteOnlyBodyContent;
        PDFDocument.Save(HTMLStreamFromPDF, saveOptions);

        private delegate string CustomResourcesProcessingBind(Aspose.Pdf.SaveOptions.ResourceSavingInfo resourceSavingInfo);

        private static string CustomResourcesProcessing(List<MemoryStream> ResourseStreamList, List<string> ResourceNameList, string RequestURL, Aspose.Pdf.SaveOptions.ResourceSavingInfo resourceSavingInfo)
        {
            MemoryStream newResource = new MemoryStream();
            resourceSavingInfo.ContentStream.CopyTo(newResource);
            ResourceNameList.Add(resourceSavingInfo.SupposedFileName);
            ResourseStreamList.Add(newResource);

            string urlThatWillBeUsedInHtml = RequestURL +"/"+ Path.GetFileName(resourceSavingInfo.SupposedFileName);
            return urlThatWillBeUsedInHtml;
        }
        private delegate string CssUrlCreationCustomStrategyBind(Aspose.Pdf.HtmlSaveOptions.CssUrlRequestInfo requestInfo);

        private static string CssUrlCreationCustomStrategy(string RequestURL,Aspose.Pdf.HtmlSaveOptions.CssUrlRequestInfo requestInfo)
        {
            return RequestURL + "/css_style.css"; 
        }

        private delegate void CustomCssSavingProcessingBind(Aspose.Pdf.HtmlSaveOptions.CssSavingInfo resourceInfo);

        private static void CustomCssSavingProcessing(MemoryStream CSSStream, Aspose.Pdf.HtmlSaveOptions.CssSavingInfo resourceInfo)
        {
            resourceInfo.ContentStream.CopyTo(CSSStream);           
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用mapGroupsWithState进行Spark流式传输

来自分类Dev

使用FFMPEG进行实时流式传输

来自分类Dev

使用RTP在ffmpeg中进行流式传输

来自分类Dev

使用Checkpoint进行Spark流式传输

来自分类Dev

使用 Druid、Kafka、Superset 进行流式传输

来自分类Dev

如何结合现场视频和音频进行流式传输

来自分类Dev

使用sox进行语音检测和流式传输

来自分类Dev

如何使用HttpServletRequest#getPart(name)进行流式传输

来自分类Dev

使用CometD进行E * Trade API流式传输

来自分类Dev

FM Radio在Android中使用phonegap进行实时流式传输

来自分类Dev

使用Slick 3.0 Databasepublisher进行Akka-http流式传输

来自分类Dev

使用Jquery图像滑块进行实时流式传输

来自分类Dev

使用FFMpeg进行流式传输:启动画面?

来自分类Dev

使用Slick 3.0 Databasepublisher进行Akka-http流式传输

来自分类Dev

使用FFMpeg进行流式传输:启动画面?

来自分类Dev

使用python K-MEANS进行Hadoop流式传输

来自分类Dev

使用Qt流式传输

来自分类Dev

使用S3接收器进行流式传输时精确地进行Flink

来自分类Dev

当使用Icecast和Liquidsoap进行流式传输时,声音会不断倒转

来自分类Dev

如何从.docx获取图像以使用Aspose.Words流式传输

来自分类Dev

如何在 MacBook Pro 上使用 webRTC 进行外部网络摄像头的实时流式传输

来自分类Dev

尝试使用 gstreamer webrtc 进行流式传输时,“on-negotiation-needed”如何工作?

来自分类Dev

在内存中创建HTML或PDF“文件”,并在Node.js中流式传输

来自分类Dev

无法流式传输 pdf:使用 wordpress 时已发送标头

来自分类Dev

在Java类和android活动之间进行流式传输时音频不清晰

来自分类Dev

浏览器如何请求音频流?它是在进行流式传输还是“渐进式下载”?

来自分类Dev

如何在Android中进行流式传输时实时更改MediaCodec编码比特率?

来自分类Dev

使用ExpressJS对客户端进行流式传输响应时遇到问题

来自分类Dev

如何从ServiceWorker流式传输视频?

Related 相关文章

  1. 1

    使用mapGroupsWithState进行Spark流式传输

  2. 2

    使用FFMPEG进行实时流式传输

  3. 3

    使用RTP在ffmpeg中进行流式传输

  4. 4

    使用Checkpoint进行Spark流式传输

  5. 5

    使用 Druid、Kafka、Superset 进行流式传输

  6. 6

    如何结合现场视频和音频进行流式传输

  7. 7

    使用sox进行语音检测和流式传输

  8. 8

    如何使用HttpServletRequest#getPart(name)进行流式传输

  9. 9

    使用CometD进行E * Trade API流式传输

  10. 10

    FM Radio在Android中使用phonegap进行实时流式传输

  11. 11

    使用Slick 3.0 Databasepublisher进行Akka-http流式传输

  12. 12

    使用Jquery图像滑块进行实时流式传输

  13. 13

    使用FFMpeg进行流式传输:启动画面?

  14. 14

    使用Slick 3.0 Databasepublisher进行Akka-http流式传输

  15. 15

    使用FFMpeg进行流式传输:启动画面?

  16. 16

    使用python K-MEANS进行Hadoop流式传输

  17. 17

    使用Qt流式传输

  18. 18

    使用S3接收器进行流式传输时精确地进行Flink

  19. 19

    当使用Icecast和Liquidsoap进行流式传输时,声音会不断倒转

  20. 20

    如何从.docx获取图像以使用Aspose.Words流式传输

  21. 21

    如何在 MacBook Pro 上使用 webRTC 进行外部网络摄像头的实时流式传输

  22. 22

    尝试使用 gstreamer webrtc 进行流式传输时,“on-negotiation-needed”如何工作?

  23. 23

    在内存中创建HTML或PDF“文件”,并在Node.js中流式传输

  24. 24

    无法流式传输 pdf:使用 wordpress 时已发送标头

  25. 25

    在Java类和android活动之间进行流式传输时音频不清晰

  26. 26

    浏览器如何请求音频流?它是在进行流式传输还是“渐进式下载”?

  27. 27

    如何在Android中进行流式传输时实时更改MediaCodec编码比特率?

  28. 28

    使用ExpressJS对客户端进行流式传输响应时遇到问题

  29. 29

    如何从ServiceWorker流式传输视频?

热门标签

归档