iTextSharp HtmlParser为什么我html转换的pdf是0KB呢?
private void button1_Click(object sender, EventArgs e)
{
Document document = new Document(PageSize.A4, 80, 50, 30, 65);
try
{
PdfWriter.GetInstance(document, new FileStream("aaa.pdf", FileMode.Create));
HtmlParser.Parse(document, "aaa.htm");
MessageBox.Show("完成");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
结果也显示完成了,但就是pdf文件是0KB,打开的时候还报错,这是为什么呢?还请高手赐教!!!
我的QQ 450414688
下面是iTextSharp 里面第七章的示例代码:
using System;
using System.IO;
using System.util;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.xml;
using System.Collections;
using iTextSharp.text.html;
namespace iTextSharp.tutorial.Chap07
{
/// <summary>
/// Chap0706 的摘要说明。
/// </summary>
public class Chap0707
{
public Chap0707()
{
Console.WriteLine("Chapter 7 example 7: parsing the HTML from example 2");
// step 1: creation of a document-object
Document document = new Document(PageSize.A4, 80, 50, 30, 65);
try
{
// step 2:
// we create a writer that listens to the document
// and directs a XML-stream to a file
PdfWriter.GetInstance(document, new FileStream("Chap0707.pdf", FileMode.Create));
// // step 3: we create a parser and set the document handler
// Parser parser = ParserFactory.makeParser(PARSER);
// parser.setDocumentHandler(new SAXmyHtmlHandler(document));
// step 3: we create a parser
// ITextHandler h = new ITextHandler(document);
HtmlParser.Parse(document,"Chap0702.htm");
// step 4: we parse the document _Document;
// h.Parse("Chap0702.htm");
// step 4: we parse the document
// parser.parse("Chap0702.html");
}
catch(Exception e)
{
Console.Error.WriteLine(e.Message);
Console.Error.WriteLine(e.StackTrace);
}
}
}
}
除了注释掉的行,就只有两行代码呀……
相关推荐
AI索引协议llms.txt实测:420个网站仅6%部署,站长该如何应对
本文基于对420个网站的实测,发现仅6%部署了AI索引协议llms.txt。文章剖析其设计逻辑,指出其与robots.txt、sitemap.xml的本质区别:聚焦语义化、精简推荐内容。分析常见部署问题如路由错误、内容冗余、维护缺失和摘要堆砌,并提供手写模板、自动化生成脚本、部署验证方法。强调llms.txt是GEO生态关键一环,适用于有稳定公开内容的站点,是面向AI搜索的前置优化手段。
Java SAX解析器实战:轻量流式XML处理与生产级避坑指南
本文深入剖析Java SAX解析器在生产环境中的核心应用,涵盖SAX推模式原理、Handler生命周期管理、命名空间与CDATA处理、实体容错预处理、错误恢复机制及性能调优策略。重点对比SAX与DOM/StAX/Jackson在内存占用、吞吐量和可控性上的本质差异,强调手写Handler对业务上下文感知的不可替代性,并提供可落地的单元测试、边界覆盖与面试高频题解析。
技术转移机构如何基于数据提升项目撮合精准度?.docx
技术转移机构如何基于数据提升项目撮合精准度?
超扭滑模与快速终端滑模的永磁同步电机无感控制:理论、离散化实现与仿真研究(Simulink仿真实现)
内容概要:本文系统研究了超扭滑模控制(STSMC)与快速终端滑模控制(FTSMC)在永磁同步电机(PMSM)无感控制中的应用,重点涵盖其理论基础、离散化实现方法及Simulink仿真验证。文章深入阐述了两种高阶滑模控制策略的设计原理,利用磁链无感观测技术实现转子位置与速度的精确估计,从而省去物理传感器,有效提升了系统的可靠性与鲁棒性。同时,提供了完整的Simulink仿真模型构建方案,包括控制器设计、关键参数整定及动态响应性能分析,充分验证了所提出的方法在零速与低速工况下的卓越控制性能和有效性。; 适合人群:具备电机控制、现代控制理论基础知识及熟练掌握MATLAB/Simulink仿真技能的研究生、科研人员与工程技术人员。; 使用场景及目标:①深入理解高阶滑模控制在电机驱动系统中的设计思想与具体实现;②掌握基于滑模观测器的无感控制核心技术;③开展永磁同步电机高性能控制算法的理论研究、仿真验证与工程化探索。; 阅读建议:建议将文中详尽的理论推导与Simulink仿真模型相结合进行学习,重点关注滑模面的构建、抖振抑制策略的实施以及离散化处理的细节,有条件的研究者可进一步将算法移植到DSP等硬件平台进行实验验证,以深化对理论的理解并检验其实际应用效果。
多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)
内容概要:本文系统阐述了基于Matlab的多源动态最优潮流分布鲁棒优化方法,聚焦于IEEE118节点电力系统,旨在应对高比例可再生能源接入背景下源荷双重不确定性所带来的调度挑战。该方法深度融合分布鲁棒优化理论,通过构建能够抵御最坏情况概率分布的决策模型,有效提升了电力系统在复杂不确定性环境下的运行安全性、经济性与可靠性。研究不仅提供了完整的Matlab代码实现,便于结果复现与算法验证,还特别关注了含风电等新能源的现代电网低碳调度问题,为解决实际工程中的优化调度难题提供了强有力的理论支撑和技术工具。; 适合人群:具备电力系统分析基础和Matlab编程能力的研究生、科研人员及从事智能电网优化运行、能源系统规划等相关领域的工程技术人员。; 使用场景及目标:①研究含高比例可再生能源接入的电力系统动态最优潮流问题;②掌握分布鲁棒优化在电力系统经济调度、低碳调度中的建模思想与求解方法;③利用IEEE118标准测试系统进行算法有效性验证与性能对比分析;④基于所提供的Matlab代码进行二次开发,探索新型不确定性优化理论在电力系统中的创新应用。; 阅读建议:建议读者结合电力系统最优潮流、不确定性优化理论(特别是分布鲁棒优化)的背景知识进行学习,重点关注模型的构建逻辑、目标函数与约束条件的设计原理,以及Matlab代码的具体实现细节。在学习过程中,应动手调试代码,尝试修改系统参数(如新能源出力波动范围、负荷水平等),以观察不同场景下优化结果的变化,从而深刻理解该方法的适应性、优势及其潜在的局限性。


