我收到了这个从 .wsp 的 .NET Reflector 转换中获取的方法,并且没有文档。该应用程序的目的是创建一个可签名的 .pdf 表单。不能使用 3rd 方甚至开源,所以 iTextSharp、PDFSharp 等不是选项,我是一个新手,尽我所能提高我的学习曲线。
我已将引用/使用指令添加到 .cs“方法”文件以重新创建 aspx.cs 文件。我剩下的最后一个错误是:'找不到类型或命名空间名称'Doc'(您是否缺少 using 指令或程序集引用?)
我找不到让“Doc”在任何地方工作的参考资料。'Document' 和 'Word' 是我可以在网上找到的最接近的两个可以帮助的东西,但对增加我的理解没有任何帮助。这种方法对任何人来说都很熟悉吗?
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