彩票走势图

Aspose.Pdf for .NET如何改进PDF to HTML转换

原创|使用教程|编辑:龚雪|2013-12-19 10:23:50.000|阅读 3173 次

概述:Aspose.Pdf for .NET近日发布了v8.7.0,新版本对PDF to HTML新增了在HTML页面中分割CSS或单独生成CSS文件等功能,本文将介绍在新版本中如何实现这些PDF to HTML转换过程中的功能。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

转换为HTML时将图片保存为光栅格式

Aspose.Pdf for .NET有一个非常强大的功能就是转换PDF文件为DOC、DOCX、image、HTML以及其他各种格式。在PDF to HTML格式的转换过程中,PDF文件中的图片将被保存为SVG压缩格式,但是你可能希望将它们保存为光栅格式 - PNG或者JPEG - 而不是缩小图像尺寸。

// Source PDF file
Document doc = new Document("c:/input.pdf");
// Create HtmlSaveOption with tested feature
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.FixedLayout = true;
saveOptions.SplitIntoPages = false;
saveOptions.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsExternalPngFilesReferencedViaSvg;

string outFile = "c:/ResultantFile.pdf";
// Save the output in HTML format
doc.Save(outFile, saveOptions);

在PDF to HTML转换时在单个页面中分割CSS

HtmlSaveOptions类有一个属性——SplitIntoPages,当生成输出时它可以让你在页面中分割HTML。最近,一个用户要求基于单个页面分割CSS,而不是生成单独的CSS文件。为了实现在个需求,ASPOSE推出一个HtmlSaveOptions类的新标签——SplitCssIntoPages。当这个属性设置为True时,转换器将基于单个HTML页面将CSS分割为parts/pages。请看如下的代码段。

//1) Clean-up target folders
string htmlFile = Path.GetFullPath("c:/pdftest/ResultantFile_files/" + "resultant.html");
string imagesDir = Path.GetDirectoryName(htmlFile) + @"\35942_files";
string cssDir = Path.GetDirectoryName(htmlFile) + @"\35942_css_files";
if (Directory.Exists(imagesDir)) { Directory.Delete(imagesDir, true); };
if (Directory.Exists(cssDir)) { Directory.Delete(cssDir, true); };

//2) Create document for conversion
Document pdfDocument = new Document("c:/pdftest/antrag.pdf");

//3) Tune conversion options
HtmlSaveOptions options = new HtmlSaveOptions();
options.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsPngImagesEmbeddedIntoSvg;//<- to get compatibility with previous behavior and therefore same result of tests
// Split HTML output into pages
options.SplitIntoPages = true;
// Split CSS into pages
options.SplitCssIntoPages = true;
options.CustomCssSavingStrategy = new HtmlSaveOptions.CssSavingStrategy(Strategy_4_CSS_MULTIPAGE_SAVING_RIGHT_WAY);
options.CustomStrategyOfCssUrlCreation = new HtmlSaveOptions.CssUrlMakingStrategy(Strategy_5_CSS_MAKING_CUSTOM_URL_FOR_MULTIPAGING);
//3) Convert
pdfDocument.Save(htmlFile, options);

private static void Strategy_4_CSS_MULTIPAGE_SAVING_RIGHT_WAY(HtmlSaveOptions.CssSavingInfo partSavingInfo)
{
    string cssOutFolder = @"c:\pdftest\ResultantFile_files\";
    if (!Directory.Exists(cssOutFolder))
    {
        Directory.CreateDirectory(cssOutFolder);
    }

    string outPath = cssOutFolder + "style_xyz_page" + partSavingInfo.HtmlPageNumber.ToString() + ".css";
    System.IO.BinaryReader reader = new BinaryReader(partSavingInfo.ContentStream);
    System.IO.File.WriteAllBytes(outPath, reader.ReadBytes((int)partSavingInfo.ContentStream.Length));
}
private static string Strategy_5_CSS_MAKING_CUSTOM_URL_FOR_MULTIPAGING(HtmlSaveOptions.CssUrlRequestInfo requestInfo)
{
    return "/document-viewer/GetCss?cssId=4544554445_page{0}";
}

Aspose.Pdf for .NET 8.7.0更新详情>>

Aspose.Pdf for .NET 8.7.0免费下载>>


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP