我如何理解创建pdf的方法?C#
这个方法是从.wsp的.NET Reflector转换而来的,没有文档。该应用程序的目的是创建一个可签名的.pdf表单。无法使用第三方甚至开源,因此iTextSharp、PDFSharp等都不是选项,我是一个新手,正在尽最大努力提高我的学习曲线 我已经向.cs“Method”文件添加了引用/使用指令,以重新创建aspx.cs文件。我剩下的最后一个错误是: '找不到类型或命名空间名称'Doc'(是否缺少using指令或程序集引用?' 我找不到可以让“Doc”在任何地方工作的参考资料。”“文档”和“文字”是我能在网上找到的两个最能帮助我的东西,但对提高我的理解没有任何帮助。 这个方法大家都熟悉吗我如何理解创建pdf的方法?C#,c#,.net,pdf,reflector,C#,.net,Pdf,Reflector,这个方法是从.wsp的.NET Reflector转换而来的,没有文档。该应用程序的目的是创建一个可签名的.pdf表单。无法使用第三方甚至开源,因此iTextSharp、PDFSharp等都不是选项,我是一个新手,正在尽最大努力提高我的学习曲线 我已经向.cs“Method”文件添加了引用/使用指令,以重新创建aspx.cs文件。我剩下的最后一个错误是: '找不到类型或命名空间名称'Doc'(是否缺少using指令或程序集引用?' 我找不到可以让“Doc”在任何地方工作的参考资料。”“文档”和“
protected void Create_PDF()
{
Doc doc = new Doc();
Doc doc2 = new Doc();
doc2.Read(base.Server.MapPath(@"images\form_name.pdf"));
int num = doc2.get_PageCount();
Doc doc3 = new Doc();
doc3.set_FontSize(10);
doc3.get_MediaBox().set_String(doc2.get_MediaBox().get_String());
doc3.get_Rect().Magnify(0.5, 0.5);
doc3.get_Rect().Inset(10.0, 10.0);
doc3.get_Rect().set_String(doc3.get_MediaBox().get_String());
doc3.AddImageDoc(doc2, 1, null);
doc3.FrameRect();
doc3.get_Rect().set_String("40,570,230,590");
doc3.AddHtml(this.str_1);
doc3.get_Rect().set_String("250,570,420,590");
doc3.AddHtml(this.str_2);
doc3.get_Rect().set_String("430,570, 570, 590");
doc3.AddHtml(this.str_3);
doc3.get_Rect().set_String("40,540,170,555");
doc3.AddHtml(this.str_4);
doc3.get_Rect().set_String("170,540,570,555");
doc3.AddHtml(this.str_5);
doc3.get_Rect().set_String("40,500, 230, 515");
doc3.AddHtml(this.str_6);
doc3.get_Rect().set_String("235,500,360,515");
doc3.AddHtml(this.str_7);
doc3.get_Rect().set_String("370,500, 570, 515");
doc3.AddHtml(this.str_8);
doc3.get_Rect().set_String("40,465,305,485");
doc3.AddHtml(this.str_9);
doc3.get_Rect().set_String("310,465, 570,485");
doc3.AddHtml(this.str_10);
doc3.get_Rect().set_String("40,440,305,453");
doc3.AddHtml(this.str_11);
doc3.get_Rect().set_String("310,440, 570, 453");
doc3.AddHtml(this.str_12);
doc3.get_Rect().set_String("39,412, 51, 425");
doc3.AddHtml(this.str_13[0]);
doc3.get_Rect().set_String("39,402, 51, 413");
doc3.AddHtml(this.str_13[1]);
doc3.get_Rect().set_String("39,390, 51, 401");
doc3.AddHtml(this.str_13[2]);
doc3.get_Rect().set_String("39,378, 51, 389");
doc3.AddHtml(this.str_13[3]);
doc3.get_Rect().set_String("200,412, 212, 425");
doc3.AddHtml(this.str_13[4]);
doc3.get_Rect().set_String("200,402, 212, 413");
doc3.AddHtml(this.str_13[5]);
doc3.get_Rect().set_String("200,390, 212, 401");
doc3.AddHtml(this.str_13[6]);
doc3.get_Rect().set_String("399,412, 410, 425");
doc3.AddHtml(this.str_13[7]);
doc3.get_Rect().set_String("399,402, 410, 413");
doc3.AddHtml(this.str_13[8]);
doc3.get_Rect().set_String("399,390, 410, 401");
doc3.AddHtml(this.str_13[9]);
doc3.get_Rect().set_String("40,260,570,368");
doc3.AddHtml(this.str_14);
doc3.get_Rect().set_String("40,200,570,235");
doc3.AddHtml(this.str_15);
doc3.get_Rect().set_String("40,120,300,140");
doc3.AddHtml(this.str_16);
doc3.get_Rect().set_String("310,120,570,140");
doc3.AddHtml(this.str_17);
doc3.get_Rect().set_String("362,71,468,90");
doc3.AddHtml(this.str_18);
doc3.get_Rect().set_String("485,71,570,90");
doc3.AddHtml(this.str_19);
doc3.get_Rect().set_String("40,40,210,60");
doc3.AddHtml(this.str_20);
doc3.get_Rect().set_String("235,40,390,60");
doc3.AddHtml(this.str_21);
doc3.get_Rect().set_String("400,40,570,60");
doc3.AddHtml(this.str_22);
this.Ser = this.sID.ToString();
using (SqlConnection connection = new SqlConnection(this.strConnString))
{
connection.Open();
string cmdText = "insert into Image (Ser,ImageData) values(@Ser, @ImageData)";
SqlCommand command = new SqlCommand(cmdText, connection);
try
{
using (MemoryStream stream = new MemoryStream())
{
doc3.Save(stream);
byte[] data = doc3.GetData();
command.Parameters.Add(new SqlParameter("@Ser", this.Ser));
command.Parameters.Add(new SqlParameter("@ImageData", data));
command.ExecuteNonQuery();
}
}
catch (SqlException exception)
{
if (string.Compare(exception.Message.ToString().Substring(0, 0x18), "Violation of PRIMARY KEY") == 0)
{
SqlCommand command2 = new SqlCommand("delete from image where ser = '" + this.Ser + "'", connection);
command2.ExecuteNonQuery();
try
{
command2.ExecuteNonQuery();
}
catch (SqlException)
{
}
finally
{
command.ExecuteNonQuery();
}
}
}
}
doc3.Clear();
}
//非常感谢你,
//RN它将与此代码的源代码位于同一个项目中likely@Sayse:这些不足以避免“找不到命名空间名称“Doc”
当这位绅士把他使用.NET Reflector从dll获得的源代码的方法交给我时,他去度假了。我已将.NETReflector下载到我的开发机器上,并将研究如何提取隐藏的方法/代码。NetReflector在VisualStudio2010中或作为桌面应用程序,对我(一个新手)来说似乎有点困惑。欢迎所有建议。我的观点是堆栈溢出在这种情况下无法帮助您,因为Doc将是您从中发现的项目中的一个类,您的最佳选择可能是查看是否有任何其他方法调用
Doc
typeUnderstand。谢谢你,赛斯