Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ItextSharp在PC版本中生成0字节的pdf文件。在编辑部工作_C#_Unity3d_Itext_Pc - Fatal编程技术网

C# ItextSharp在PC版本中生成0字节的pdf文件。在编辑部工作

C# ItextSharp在PC版本中生成0字节的pdf文件。在编辑部工作,c#,unity3d,itext,pc,C#,Unity3d,Itext,Pc,我正在使用iTextSharp.dll在PC版本中生成pdf。版本:2018.4.9f-OS 10-Build:PC-C#-Visual Studio 2017社区 pdf是在编辑器中生成的,就像我在脚本中输入的文本一样,但在为PC构建之后,它生成了一个0字节的pdf。当它被打开时,会弹出一个对话框,说明文件类型无法识别或pdf已损坏。如何在PC构建中实现相同的结果?我错过了什么 在我的场景中,我有一个带有c#脚本的相机。脚本有一个方法,当按下UI按钮时调用该方法。代码如下: 使用UnityEn

我正在使用iTextSharp.dll在PC版本中生成pdf。版本:2018.4.9f-OS 10-Build:PC-C#-Visual Studio 2017社区

pdf是在编辑器中生成的,就像我在脚本中输入的文本一样,但在为PC构建之后,它生成了一个0字节的pdf。当它被打开时,会弹出一个对话框,说明文件类型无法识别或pdf已损坏。如何在PC构建中实现相同的结果?我错过了什么

在我的场景中,我有一个带有c#脚本的相机。脚本有一个方法,当按下UI按钮时调用该方法。代码如下:

使用UnityEngine;
使用UnityEngine.UI;
使用System.IO;
使用iTextSharp.text;
使用iTextSharp.text.pdf;
使用制度;
公共课小组:单一行为
{
WaitForEndOfFrame frameEnd=新的WaitForEndOfFrame();
公共英语HPDF()
{
FileStream fs=newfilestream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop)+“\\Test.pdf”、FileMode.Create、FileAccess.Write、FileShare.None);
文档文档=新文档(PageSize.A4);
PdfWriter writer=PdfWriter.GetInstance(doc,fs);
doc.Open();
//第0页
doc.NewPage();
//PdfPTable page0=新的PdfPTable(2);
段落标题=新段落(“测试PDF”);
title.Alignment=Element.ALIGN\u CENTER;
Chunk Name Chunk=新块(“名称:“+”\r\n”);
Chunk bday=新Chunk(“出生日期:”);
添加文件(标题);
//单据新增(第0页);
新增单据(名称块);
单据新增(b天);
doc.Close();
}
}

谢谢,这是版本问题。我通过升级到itext7来修复它,0字节意味着itext甚至没有开始写入文件,否则会有几个字节的pdf头。我假设文件流创建
FileStream fs=…
可以工作,但此后什么也没有。您是否检查了错误?在.net或unity editor中没有错误,也没有任何生成或编译错误。然后,编译到PC生成中的代码不是您显示的代码(可能是没有itext代码的早期生成,仅使用
FileStream
初始化?),或者其他程序介入,或者你有一个奇迹,没有其他的计划。只有一个脚本和一个按钮可以调用上述函数。您尝试过一些标准的调试方法吗?比如每隔一行添加一个
控制台
写操作,并检查是否有任何或所有写操作被写入?