我有一个可自定义的rdlc报告,用户可以在其中选择要显示的列.所有列都包含在报表设计器中,我使用参数根据用户的选择隐藏/显示列.报告正确呈现,并且仅显示所选列,但是,报告的总宽度与所有列都可见时相同.这意味着报表可能在所选列的右侧有一个巨大的空白区域,看起来非常愚蠢.
所以我的问题是:有没有办法在运行时动态调整报告宽度,以避免报告中出现大的空白区域?我试图通过为报表正文的宽度指定一个参数来在设计器中执行此操作....但这是不允许的.宽度不能是设计器中的任何类型的表达式,只允许实际值.
有什么建议?
我的操作系统是Windows XP,我使用的是IIS 5.1和PHP 5.2.9.我正在尝试从我的PHP页面调用PHP脚本,以便使用OpenOffice将RTF文档转换为PDF.当我直接从命令行调用它时,脚本工作正常,但是从PHP网页启动时,我没有成功获得完全相同的脚本.
当我从PHP页面调用脚本时,页面挂起,最终显示错误,我注意到我可以在任务管理器中看到soffice.bin和soffice.exe进程在我的IIS用户名下运行.
这是错误:
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `com.sun.star.ServiceManager': Server execution failed ' in C:\WEB_ROOT\SoftwareContract\WordToPdf.php:14 Stack trace: #0 C:\WEB_ROOT\SoftwareContract\WordToPdf.php(14): com->com('com.sun.star.Se...') #1 C:\WEB_ROOT\SoftwareContract\Index.php(11): word2pdf('file:///C:/web_...', 'file:///C:/web_...') #2 {main} thrown in C:\WEB_ROOT\SoftwareContract\WordToPdf.php on line 14
Run Code Online (Sandbox Code Playgroud)
我在这些方面仔细检查了我的IIS用户的权限:
C:\PHP
C:\Program Files\OpenOffice.org 3
C:\Program Files\Java
C:\WEB_ROOT ---- location for my php code
Run Code Online (Sandbox Code Playgroud)
在每种情况下,我的IIS用户都具有以下权限:读取和执行,列出文件夹内容,读取.并且在每种情况下都没有检查"denys"来抵消权限.我还给了IIS用户对php代码所在的Web_Root文件夹的写权限.
这是调用转换函数的php,WordToPdf:
<?php
require_once('WordToPdf.php');
$output_dir = 'C:/web_root/softwarecontract/';
$doc_file = 'C:/web_root/softwarecontract/testdoc.rtf';
$pdf_file = 'output.pdf';
$output_file = $output_dir . $pdf_file;
$doc_file = "file:///" . $doc_file;
$output_file …Run Code Online (Sandbox Code Playgroud)