我正在尝试将图像缩放为PDF文档的整页.我正在使用iTextSharp生成文档.图像具有正确的页面宽高比,但理想情况下,我希望图像扭曲而不是填充所有可用区域.
我目前有:
Dim Document As New Document(PageSize, 0, 0, 0, 0)
...
Dim ContentImage = '''Method call to get image'
Dim Content = iTextSharp.text.Image.GetInstance(ContentImage, New BackgroundColor)
Content.SetAbsolutePosition(0, 0)
Content.ScaleToFit(Document.PageSize.Width, Document.PageSize.Height)
Document.Add(Content)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这并不能解释打印机的利润率......
我需要图像适合可打印区域(尽可能在pdf中定义)
提前致谢
在这里,我有以下控制器:
class User extends CI_Controller {
public function Login()
{
//$data->RedirectUrl = $this->input->get_post('ReturnTo');
$data = array(
'title' => 'My Title',
'heading' => 'My Heading',
'message' => 'My Message'
);
$this->load->view('User_Login', $data);
}
//More...
}
Run Code Online (Sandbox Code Playgroud)
在我的User_Login.php
视图文件中我这样做:
<?php print_r($data);?>
Run Code Online (Sandbox Code Playgroud)
这导致:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: data
Filename: views/User_Login.php
Line Number: 1
Run Code Online (Sandbox Code Playgroud)
我是否需要加载任何特定的模块/帮助程序来填充$ data变量?如果我print_r($this)
,我可以看到很多东西,但除了缓存之外我没有看到任何数据
编辑:为了澄清,我知道,调用该变量在控制器相同,视图不会"共享" -这是超出了范围,但在我联系的例子,它似乎意味着$data
变量在的范围内产生视图.我只是碰巧在控制器中使用相同的名称
我试图让glassfish在eclipse中工作,并遇到JRE vs JDK错误:
GlassFish v3需要JDK 1.6而不是JRE.请在服务器属性的"运行时环境"部分中添加/选择正确的JDK.
我用Google搜索,似乎有很多人都有这个问题.确实在首选项 - >服务器 - >运行时环境中,当我在glassfish服务器运行时环境中单击编辑时,JRE是"默认JRE".我点击下拉菜单并将其切换到我的JDK:java-6-openjdk并认为我解决了问题.不幸的是,我仍然得到完全相同的错误.这让我对如何谷歌问题感到茫然,因为其他人似乎只是通过将JRE切换到JDK来解决它.有人有想法吗?
Avtar
我有一个python方法,它需要从API 收集大量数据,将其格式化为CSV,压缩它并将结果流回来.
我一直在谷歌搜索,我可以找到的每个解决方案要么写入临时文件或将整个存档保存在内存中.
内存绝对不是一个选项,因为我会很快得到OOM.写入临时文件有很多与之相关的问题(此框目前仅使用磁盘进行日志,下载开始前的更长时间,文件清理问题等等).更不用说这只是令人讨厌的事实.
我正在寻找一个可以让我做类似...的图书馆
C = Compressor(outputstream)
C.BeginFile('Data.csv')
for D in Api.StreamResults():
C.Write(D)
C.CloseFile()
C.Close()
Run Code Online (Sandbox Code Playgroud)
换句话说,当我写入数据时,将写入输出流的东西.
我已经设法在.Net和PHP中做到了这一点 - 但我不知道如何在Python中处理它.
通过"大量"数据来看待事物,我的意思是我需要能够处理高达~10 Gb的(原始纯文本)数据.这是大数据系统的导出/转储过程的一部分.
我们在一个相当大的系统中使用EF4,偶尔会遇到问题,因为EF4无法将某些表达式转换为SQL.目前,我们要么需要做一些花哨的步法(DB/Code),要么只接受性能命中并允许查询在内存中执行.
毋庸置疑,这些都不是理想的,我们有时不得不使用的黑客降低了可读性/可维护性.
我们理想的是一种扩展EF4 SQL提供程序的SQL生成功能的方法.显然有一些像.Net方法调用这样的东西总是必须是客户端的,但是像日期比较这样的一些功能(例如[Linq to Entities中的分组周数]应该是可行的.
我用Google搜索了,但也许我使用了错误的术语,因为我得到的是有关EF4 SQL生成新功能的信息.
对于这样一个灵活且可扩展的框架,如果不可能,我会感到惊讶.在我的脑海中,我想象从[SQL 2008]提供程序继承并扩展它以处理表达式树中的其他表达式/类似,它被赋予转换为SQL.
任何帮助/指针赞赏.
我们使用的是VS2010 Ultimate,.Net 4(非客户端配置文件)和EF4.该应用程序在ASP.Net中,并在64位环境中运行,以防它有所作为.
更新:回应一些澄清要求;
我们使用的是代码优先方法,并有一个控制台应用程序,可以创建数据库并填充一些参考表.
我宁愿远离存储过程,除非它们也可以以类似的方式生成 - 目前,根据需要生成新版本的数据库,并且单独的进程迁移/同步数据.我们目前关于数据库的所有事情都使用实体.我承认我无法给出一个很好的理由,但在这种情况下运行SQL脚本来生成存储过程感觉不对 - 但如果我弄错了,请纠正我.
关于特定的场景,我担心如果不经过长时间的繁文缛节练习,我就无法从代码中提供一个 - 上面提到的链接就是我们想要完成的事情的一个很好的例子.在此示例中,实现允许日期算术的机制:
DateTime firstDay = GetFirstDayOfFirstWeekOfYear();
var userTimes = from t in context.TrackedTimes
group t by new {t.User.UserName, WeekNumber = (t.TargetDate - firstDay).Days / 7} into ut
select new
{
UserName = ut.Key.UserName,
WeekNumber = ut.Key.WeekNumber,
Minutes = ut.Sum(t => t.Minutes)
};
Run Code Online (Sandbox Code Playgroud)
我可以看到一种方法,这可以使用SQL单独完成,但不能使用LINQ-To-Entities(服务器端)来完成.
我正在使用这个....
function cURL($url, $header=NULL, $p=NULL)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1");
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/TestCookies");
if ($p) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $p);
}
$result = curl_exec($ch);
if ($result) {
return $result;
} else {
return curl_error($ch);
}
curl_close($ch);
}
Run Code Online (Sandbox Code Playgroud)
而我正打这样的电话......
$Headers = array(
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*\/*;q=0.5",
"Accept-Language: en-gb,en;q=0.5", …
Run Code Online (Sandbox Code Playgroud) 可能重复:
Windows防病毒如何挂钩到文件访问过程?
防病毒软件通常通过(可能)拦截对文件系统的调用,扫描目标文件然后允许调用完成来提供"实时"保护.根据观察到的行为,我猜这种情况会在应用程序尝试打开文件句柄进行读取时发生(至少打开一个安装了Sophos的5 gig文件=即时咖啡休息时间)
这究竟是如何实现的?他们实际上是否使用抽象文件系统的驱动程序,或者仅仅是调用API(哪种方法?)将自己注入链中的情况?
有没有任何标准方法来检测哪些应用程序正在挂钩?
我已经将.Net标记为我的选择框架,但我怀疑P/Invoke是必需的,所以尽管.Net示例是理想的,但直接的API参考几乎同样好.
我有一个网站和一个控制台应用程序一起工作.
根据发布配置文件,本网站将发布到~10个不同服务器中的任何一个.对于生产,那是MSDeploy但是对于Dev/Test/UAT/etc ......它是一个简单的UNC文件路径副本.
我希望能够轻松地发布CLI(至少是"本地"服务器).我想要的是单击发布,选择配置文件/服务器并让它编译并将bin文件夹中的输出复制到\\Server\ApplicationName
我知道我可以执行复制作为后构建步骤,但并不总是想要复制,并且绝对不希望它到同一个地方.
Console/WinForms应用程序中存在的发布选项似乎以1-click发布为中心,这不是我所追求的(我不希望应用程序打电话回家每次都在寻找新版本,我想明确推送一个特定版本到特定服务器).
我知道如果应用程序在尝试发布期间运行,则会出现问题.
这可以实现吗?
我试图在屏幕上放一个立方体并点亮它.我想在立方体上加一个阴影.
当我运行我的代码时,我可以看到背景图像,但没有立方体.
我很确定立方体本身是正确的,因为我设法用纯色着色器显示它.
我已经设法让着色器程序编译,但我根本看不到立方体.我不知道GLES/LibGdx是否有运行时异常的机制,但我在日志中看不到任何内容.
我在假设
我试图将我的代码削减到我认为问题所在的位置.如果您还需要查看其他内容,请询问.
shader = new ShaderProgram(
Gdx.files.internal("shaders/phongVertexShader.glsl"),
Gdx.files.internal("shaders/phongFragmentShader.glsl"));
if (!shader.isCompiled()) {
throw new IllegalStateException(shader.getLog());
}
mesh = Shapes.genCube();
mesh.getVertexAttribute(Usage.Position).alias = "a_position";
mesh.getVertexAttribute(Usage.Normal).alias = "a_normal";
Run Code Online (Sandbox Code Playgroud)
public void onRender() {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.setProjectionMatrix(camera.combined);
angle += Gdx.graphics.getDeltaTime() * 40.0f;
float aspect = Gdx.graphics.getWidth()
/ (float) Gdx.graphics.getHeight();
projection.setToProjection(1.0f, 20.0f, 60.0f, aspect);
view.idt().trn(0, 0, -2.0f);
model.setToRotation(axis, angle);
combined.set(projection).mul(view).mul(model);
Gdx.gl20.glViewport(0, 0, Gdx.graphics.getWidth(),
Gdx.graphics.getHeight());
shader.begin();
float[] light = {10, 10, 10};
shader.setUniformMatrix("mvpMatrix", combined); …
Run Code Online (Sandbox Code Playgroud) 我编写了一个以下列格式返回Json的API ...
{"Success": true, Result: {...}}
{"Success": false, ExceptionId: "(some uuid)"}
Run Code Online (Sandbox Code Playgroud)
记录例外.这原则很好,允许某人在没有告诉他们它是什么的情况下讨论错误(作为安全措施).在调试期间,我还想输出错误消息,以阻止我不得不一直引用数据库.
事实上,问题是从异常中获取有用信息(返回或登录数据库)
我正在做这样的事......
try:
Ret['Result'] = <Blah>
Ret['Success'] = True
except Exception as e:
# ... Logging/ExceptionId
if Settings.DebugMode:
Ret['Exception'] = str(e)
Run Code Online (Sandbox Code Playgroud)
如果我在最后一行放置一个断点并e
在eclipse的监视窗口中检查,我得到了KeyError: 'Something'
,但str(e)
结果'Something'
是非常无益的.
我用谷歌搜索,我找不到任何方法从异常中获取正确的消息.显然曾经有.message
过v <2.4但在3.3中对我毫无帮助
作为替代方案,我尝试过:
Ret['Exception'] = str(type(e)) + ": " + str(e)
Run Code Online (Sandbox Code Playgroud)
这导致<class 'KeyError'>: 'job'
了更近一点,但它开始感觉越来越hackish.
我也希望包含一个堆栈跟踪但在那里运气更少 - 我可以得到__traceback__
但当然它不可序列化并且调用str()
它只会导致对象的描述,例如<traceback object at 0x0000000004024E48>
如何获得体面/全面的错误消息?
.net ×2
java ×2
php ×2
python ×2
python-3.x ×2
.net-4.0 ×1
antivirus ×1
build ×1
codeigniter ×1
compression ×1
cookies ×1
curl ×1
eclipse ×1
exception ×1
filesystems ×1
glassfish ×1
hook ×1
itext ×1
java-ee ×1
libgdx ×1
matrix ×1
opengl ×1
opengl-es ×1
pdf ×1
publish ×1
stream ×1
view ×1
winapi ×1
zip ×1