问题标签 [opentbs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3570 浏览

ms-word - 防止 Word 2010 保存 o:gfxdata base64 或 uuencoded VML?

我正在使用 .docx 文件,其中包含多个插入图像的绘图画布以及在 Word 2010 中绘制的一些线条和箭头。我使用的是 2010 格式,没有兼容模式。

Wordo:gfxdata在每个元素中插入一个属性v:shapev:group并用 ascii 编码的东西填充它。从我读过的内容来看,它可能是描述v:shapeor的 VML 的副本v:group。我不知道我是否只是不知道要查找什么,但我无法确定这些数据的用途,因为删除它对我在 Word 2003、2007 或 2010 中阅读或编辑文档的能力没有明显影响.

它确实将 document.xml 膨胀到几乎是(明显)必要大小的两倍。这大大减慢了 OpenTBS 的处理速度,所以如果可能的话,我想删除它。有谁知道告诉 Word 2010 停止保存这些额外数据的方法?或者它是干什么用的?除了这篇文章之外,我真的很难找到任何关于它的文档。

编辑:

这是一个示例 .docx。document.xml 约为 141KB,OpenTBS 平均需要 10.35 秒来创建一个将其作为子模板包含 21 次的文件。如果我删除所有 o:ogfxdata 属性,文件大小会减少到 ~37KB,OpenTBS 只需 2.99 秒即可生成相同的文件。

编辑2:

经过进一步调查,似乎删除 o:gfxdata 可能会导致安装了旧兼容包的 Word 2003 反对该文件并出现以下错误:

“这是兼容包的预发布版本,只能打开预发布的 Office 2007 文件。您要检查兼容包的更新版本吗?”

我已经能够通过安装更新​​的兼容性包来打开文件——尽管它会提示用户不兼容并转换文件以打开它。这不会损坏我的文件,但需要注意。

0 投票
1 回答
319 浏览

opentbs - 简化使用'getpart'参数来加速OpenTBS的子模板

作为我上一个问题的后续,我试图真正简化从 Word 2010 中创建的文件中xml提取的几个模板,.docx并在 OpenTBS 中用作子模板,以加快我的文档创建速度。子模板包含mc:AlternateContent我在主模板中使用的所有块,如下所示:

我注意到多个 (20) 个大 (>100KB) 子模板会严重影响 OpenTBS 的速度,所以我想删除我不使用的代码(在 mc:AlternateContent 之外)。我已经计划通过 TBS 对我的模板进行其他处理并缓存简化版本,所以如果我可以使用 OpenTBS 的 getpart 功能同时从更大的模板中提取这些数据,那就太好了。这可能吗?

例如,为了能够将此(伪)代码放入我的处理中:

PS我应该在TBS论坛上问这个吗?

0 投票
1 回答
1445 浏览

php - 生成docx时如何在每一页上打印表头?

我的模板很简单。表头和:

[a.name;block=w:tr] [a.version] [a.description]

我设法创建了一个表格,但我想知道是否可以在每个文档页面上重复表格标题。

0 投票
1 回答
1620 浏览

php - OpenTBS 多页重复模板包含表格

好吧,我是 XML 和 OpenTBS 的新手,所以块等的这个概念对我来说非常混乱,当我认为我掌握了它的要点时,我的客户要求我提供更多。我有一张客户及其物品的表格,客户需要一个 docx,它为每个客户重复一个模板,其中包含表格中的物品。

我认为它适用于整个 docx 模板位于“块”中并且表是“子块”,模板的其余部分使用块中的数据,表使用子块中的数据.
这就是我感到困惑的地方。
如何遍历数组(包含客户信息),当子块需要特定客户的信息时,从 items 数组中提取?对我来说,TinyButStrong 附带的“手册”还不够好,但我相信你们会知道指向我的地方。

简化数组:

非常感谢。

0 投票
0 回答
137 浏览

docx - 在 docx 中将图像彼此相邻放置

- 分页符 -

图像元素

在这种情况下发生的情况是,用于审核的所有图像都在页面上呈现在彼此下方。我希望图像水平渲染并在达到文档宽度时继续下一行。

编辑

当我把所有东西都写[audit_sub1; block=begin;][audit_sub1; block=end;]一行上时。我得到以下结果:

  • 图 1 位于左上角(正确)
  • 图像 2 位于图像 1 旁边(正确)
  • 图像 3 在图像 1 上渲染(不正确,我希望它在新行上渲染,因为已达到宽度)
0 投票
1 回答
599 浏览

php - 使用 OpenTBS 的示例散点 Excel 图表

谁能给我一个如何使用 OpenTBS/TinyButStrong 创建 Excel 散点图的示例?是否有任何支持 excel 图表的商业/非商业 PHP excel 编写器?

非常感谢您的帮助。

感谢您的时间!

0 投票
1 回答
690 浏览

php - phpdocx generatePDF 未知图像类型:?image=opentbs1

首先,这是我在网站上的第一个问题,我只想感谢大家帮助像我这样的新手。我在这个网站上发现了很多宝贵的信息!它在我的编程之旅中帮助了我很多。

所以这是我的问题。我已经使用 OpenTBS(PHP 类)用动态数据填充 .docx 模板并在文档中插入图像。

通过在图像的替代文本中输入以下命令来插入图像:

我有一个变量,我设置为 $logo_location 指向要插入的图像。

此步骤完美运行。使用正确位置的适当图像创建 docx 文件。

当我尝试使用 phpdocx 将此 docx 文件转换为 PDF 时,出现错误。生成pdf的代码如下:

我得到的错误如下:

无法生成 PDF 文件。带有消息“未知图像类型:?image=opentbs1.”的异常“DOMPDF_Exception” 在 C:\wamp\www\bbms\classes\phpdocx\pdf\include\image_cache.cls.php:188 堆栈跟踪:#0 C:\wamp\www\bbms\classes\phpdocx\pdf\include\image_frame_decorator.cls .php(88): Image_Cache::resolve_url('?image=opentbs1', NULL, '', '') #1 C:\wamp\www\bbms\classes\phpdocx\pdf\include\frame_factory.cls.php (199): Image_Frame_Decorator->__construct(Object(Frame), Object(DOMPDF)) #2 C:\wamp\www\bbms\classes\phpdocx\pdf\include\dompdf.cls.php(606): Frame_Factory::装饰框架(对象(框架),对象(DOMPDF))#3 C:\wamp\www\bbms\classes\phpdocx\classes\TransformDoc.inc(328): DOMPDF->render() #4 C:\wamp\www \discount_database\test.php(23): TransformDoc->generatePDF() #5 {main}

出于某种原因,docx 文件中新图像的位置被传递为“?image=opentbs1”。到 image_cache.cls.php 中的静态函数 resolve_url()。

当我尝试转换不是使用 OpenTBS 创建的普通 docx 文件时,我没有收到此错误。我检查了发送到 resolve_url() 的有效 url 是什么样子的,它看起来像这样:

“文件/files_invoice_template.docx/media/word/media/image1.png”

有没有办法配置 openTBS 以正确设置插入图像的 url / 位置?

谢谢!!

0 投票
2 回答
1186 浏览

php - Is there a way to dynamically add columns to a table in a Word document using openTBS?

I'm using openTBS to populate tables in a word document. Works great for adding rows to tables with a known amount of columns, however I want to be able to populate a table with an unknown number of rows and columns. Is there a way to achieve this? Thanks.

0 投票
1 回答
1000 浏览

php - 在 openTBS 中插入项目符号点和样式到 [onshow.] 整体

我想知道是否有一种方法可以通过通过 onshow 应用的变量来传递项目符号点和项目符号点的基本 CSS 颜色样式。IE

然后在docx模板中有

[onshow.bulletPoint] 被替换为

• 字符串的其余部分

但在这种情况下,项目符号点为红色。

0 投票
1 回答
1449 浏览

php - OpenTBS:如何动态更改表中行的颜色

我在 docx 文件中使用具有以下行的表:

在 PHP 中,我使用$TBS->MergeBlock('b', $data_1);which 从$data_1数组中添加内容。

问题是,如何动态控制每行中的文本颜色,例如,如果名称是“John”,则将其标记为红色,否则使用蓝色?