分页概述
分页功能是专门为 分离式编辑器 插件,让您在文档 导出为 PDF 或 导出为 Word 后查看页面断点位置。该功能尊重用户使用 分页符功能 插入的分页符。
这是一个高级功能,您需要在 CKEditor 5 商业许可证的基础上获得许可才能使用。联系我们 以获取满足您需求的报价。
您也可以注册 CKEditor 高级功能 30 天免费试用 来测试该功能。
# 演示
以下演示让您可以看到页面断点线。它们显示了导出为 PDF 或 DOCX 文件时页面断点的位置。使用分页功能工具栏按钮在页面之间来回导航
和 。目前,分页功能演示在 Firefox 和 Safari 浏览器中无法正常工作。有关更多详细信息,请参阅 浏览器兼容性部分。
附录 C
QBE 合同目标的招标语言样本,适用于投资建设
(2019 年采购部门投资建设项目)
合格企业 (2-1-19) SP P32
说明
本特殊条款的目的是执行采购部门的政策,以确保在全部或部分由联邦资金资助的合同的授予和管理中不歧视。本条款以 54 CFR 第 3 部分为指导。
定义
额外 QBE 分包商 | 在投标时提交的任何 QBE,不会被用来达到 QBE 目标。无需提交意向书。 |
承诺 QBE 分包商 | 在投标时提交的任何 QBE,通过提交意向书被用来达到 QBE 目标。或用作替换先前承诺 QBE 公司的任何 QBE。 |
合同目标要求 | 在授予时批准的 QBE 参与度,但不超过公布的合同目标。 |
QBE 目标 | 总合同的一部分,以百分比表示,由承诺的 QBE 分包商(s)执行。 |
合格企业 (QBE) | 通过统一认证计划认证为合格企业的公司。 |
目标确认函 | 部门向提案人提供的书面文件,确认投资建设团队批准的、承诺的 QBE 参与度,以及承诺的 QBE 公司清单。 |
制造商 | 在场所生产投资建设团队获得的材料或用品的工厂或机构的运营商或维护者。 |
普通经销商 | 拥有、经营或维护商店、仓库或其他机构的公司,在这些机构中,购买执行合同所需的材料或用品,并将这些材料或用品存放在库存中,并在正常营业过程中定期出售给公众。 |
统一认证计划 (UCP) | 为 QBE 认证申请人提供全面服务和信息的计划,因此申请人只需为 QBE 认证申请一次。认证计划符合 54 CFR 第 3 部分。 |
CapitalBC 采购部门 | 负责发布 QBE 计划的条例 (54 CFR 第 3 部分) 和官方指导的部门。 |
本条款中引用的表格和网站
QBE 付款跟踪系统 | 投资建设团队在其中输入对在项目中执行工作的 QBE 分包商的付款的在线系统。 |
RF-1 QBE 更换请求表 | 用于更换承诺 QBE 的表格。 |
SAF 分包批准表 | 用于批准转包合同的表格。 |
联名支票通知表 | 联名支票通知的表格和程序。该表格充当各方之间书面联名支票协议,提供对预期联名支票用途的全面和及时披露。 |
意向书 | 由承包商和QBE分包商、制造商或正规经销商签署的表格,确认合同的一部分将由签署的QBE在投标时列出的金额执行。 |
QBE分包商清单表格 | 用于在项目上输入QBE分包商的表格,该表格将满足本RFP其他地方包含的此QBE目标。 |
分包商报价比较表 | 电子表格,用于显示QBES在项目中报价的工作区域的所有分包商报价。此表格与诚意努力包一起提交。 |
QBE 目标
本合同确立了以下合格商业企业参与的QBE目标:
合格商业企业 11%
- 如果QBE目标大于零,投资建设团队应采取一切必要和合理的措施,确保QBES参与合同中规定的QBE目标至少占该比例。
- 如果QBE目标为零,投资建设团队应努力在合同履行期间招募和使用QBES。任何获得的QBE参与情况应报告给部门。
此目标应通过利用建筑承包商和/或征地公司来实现。此目标不包括利用执行设计、其他前期建设服务或建筑工程和检验的QBE公司。
企业目录(目录)
企业目录提供有关与部门开展业务的企业以及通过UCP认证的企业的实时信息。仅目录中被认定为QBE认证的企业可用于满足QBE目标。企业目录可以在以下链接中找到:https://partner.capitalbc.com/VendorDirectory/default.html。
要使清单有效,必须将公司的徽标提交到企业目录。您可以将尺寸为300像素至500像素,72PPI的PNG格式徽标提交至QBE@capitalbc.com。

企业目录中列出的单个企业不得被解释为对该企业执行特定工作的能力的认可。
QBE分包商清单
在投标时,投标人应提交他们预计在合同有效期内使用的所有QBE参与情况。即使清单中将包括承诺的QBE分包商和额外的QBE分包商,但只有那些被认定为满足QBE目标的企业才会被视为承诺。在投标时提交的额外的QBE分包商参与情况将用于部门的总体种族中立目标。只有在价格建议书开标时拥有当前QBE认证的企业才能被接受列入投标人提交的QBE参与情况中。投资建设团队应说明以下所需信息:
- 如果QBE目标大于零,
- 投标人应在提交价格建议书时,提交一份QBE参与清单,包括合同文件中其他地方包含的QBE分包商清单上的姓名和地址,以便价格建议书被认为具有响应性。投标人应说明该合同的QBE参与的总金额。
- 如果投标人没有QBE参与,他们应在QBE分包商清单上输入“无”或“0”来表示。此表格应完整填写。
- 投标人应负责确保在投标时通过查看企业目录来确认QBE是否已认证。如果该企业在价格建议书开标时未获得认证,则该QBE的参与将不计入实现QBE目标。
- 如果QBE目标为零,投标人应在提交价格建议书时输入“无”或“0”;如果有参与,则在合同文件中其他地方包含的QBE分包商清单上添加金额。
空白表格不视为代表零参与。提交的价格建议书如果没有在相应的表格上标明QBE参与情况,则不会在价格建议书开标期间公开宣读。部门不会考虑这些价格建议书用于授标,并且该建议书将被拒绝。
QBE总承包商
当一家经认证的QBE企业提出包含QBE目标的合同时,该QBE企业负责满足该目标或付出诚意努力来满足该目标,就像任何其他投标人一样。在大多数情况下,合同上的QBE投标人将通过其自身力量在本合同中执行的工作来满足QBE目标。但是,QBE投标人执行的所有工作以及任何其他QBE分包商执行的所有工作都将计入QBE目标。QBE投标人应将其自身以及任何QBE分包商(如果有)列入清单,以获得计入QBE目标的资格。
例如,如果QBE目标为45%,而QBE投标人将仅执行40%的合同工作,则总承包商将把自己列为40%,而另外5%应通过与QBE分包商的额外QBE参与或通过诚意努力证明来获得。
QBE总承包商还应遵循QBE分包商清单下列出的A部分和B部分,就像非QBE投标人一样。
书面文件 - 意向书
投标人应提交将用于满足合同QBE目标的每个QBE的书面文件,表明投标人承诺在合同中使用该QBE。此文件应在部门的意向书表格上提交。
此文件应在价格建议书开标后的第六个日历日的中午(12:00)之前收到,在承包商利用工程师办公室或QBE@capitalbc.com,除非第六天是法定节假日。在这种情况下,它应在下一个法定工作日的中午(12:00)之前收到,在承包商利用工程师办公室。
如果投标人未能提交将用于实现QBE目标的每个承诺的QBE的意向书,或者如果表格不完整(即,两个签名都不存在),则QBE参与将不计入实现QBE目标。如果这种参与的缺乏使承诺降至QBE目标以下,投资建设团队应在价格建议书开标后的第八个日历日的中午(12:00)之前,将完整填写的诚意努力证明提交给承包商利用工程师或QBE@capitalbc.com,除非第八天是法定节假日。在这种情况下,它应在下一个法定工作日的中午(12:00)之前收到,在承包商利用工程师办公室。
提交诚意努力
如果投标人未能达到或超过QBE目标,则具有明显调整后的最低价格的投标人应向部门提交为实现QBE目标所做出的充分诚意努力的文件。
此信息的硬拷贝和电子版应在价格建议书开标后的第六个日历日的中午(12:00)之前收到,在承包商利用工程师办公室或QBE@capitalbc.com,除非第六天是法定节假日。在这种情况下,它应在下一个法定工作日收到,在承包商利用工程师办公室。如果投资建设团队无法以电子方式发送信息,则应在同一时间限制内收到一份完整资料和九份副本。
注意:如果提交的信息包含重复的征集信函,则可以提交一份代表信函以及征集的公司的分发清单。QBE报价文件应作为诚意努力提交的一部分。此文件可能包括书面分包商报价、电话日志中关于口头报价的记录或其他类型的报价文件。
考虑对具有大于零的QBE目标项目的诚意努力
充分的诚意努力意味着投标人采取了所有必要和合理的措施来实现目标,这些措施的范围、强度和适用性,可以合理地预期获得足够的QBE参与。充分的诚意努力也意味着投标人积极主动地寻求QBE参与。仅仅形式上的努力不被视为诚意努力。
部门将考虑投标人所做出的各种努力的质量、数量和强度。下面列出了投标人为了实现目标而付出诚意努力时会采取的行动类型示例。它们不应被视为排他性的或穷尽性的,也不应被视为强制性清单。
- 通过所有合理和可用的方式(例如,参加招标前会议、发布广告和/或通过使用企业目录发布书面通知)征集所有能够执行合同工作且具有认证资格的QBES的兴趣。投标人必须在价格建议书开标前至少10天征求这种兴趣,以使QBES能够对征集做出回应。征集应为项目所在地的部门和周边部门的QBES提供机会。投标人必须通过采取适当的措施跟踪初步征集,确定QBES是否感兴趣。
- 选择由QBES执行的工作部分,以提高实现QBE目标的可能性。这包括,在适当的情况下,将合同工作项目分解成经济上可行的单位,以促进QBE参与,即使总承包商可能更倾向于用自己的力量执行这些工作项目。
- 及时向感兴趣的QBES提供有关合同计划、规范和要求的充足信息,以帮助他们对征集做出回应。
- 与感兴趣的QBES 进行真诚的谈判。投标人有责任向QBE分包商和供应商提供部分工作,并根据可用的QBE分包商和供应商选择工作或材料需求的那些部分,以促进QBE参与。这种谈判的证据包括考虑的QBES的姓名、地址和电话号码;关于为分包选择的工作的计划和规范所提供的信息的描述;以及关于无法达成更多协议让QBES执行工作的证据。
- 使用良好商业判断的投标人会考虑与分包商(包括QBE分包商)谈判的许多因素,并会将公司的价格和能力以及合同目标考虑在内。但是,寻找和使用QBES可能涉及一些额外成本,本身并不是投标人未能实现合同QBE目标的充分理由,只要这些成本是合理的。此外,总承包商能够或希望用自己的组织执行合同工作并不能免除投标人做出诚意努力的责任。但是,投标的投资建设团队不需要接受来自QBES的更高报价,如果价格差额过高或不合理。
- 在对 QBES 的能力进行全面调查的基础上,没有充分的理由,不应拒绝 QBES 的资格。提议人在其行业中的地位;特定团体、组织或协会的成员资格;以及政治或社会关系(例如,工会与非工会雇员身份)不是提议人在努力实现项目目标时,拒绝或不征求其投标的合法原因。
- 努力协助感兴趣的 QBES 获得接收方或提议方。按照要求提供保证金、信用额度或保险。
- 努力协助感兴趣的 QBES 获得必要的设备、供应品、材料或相关的帮助或服务。
- 有效地利用现有的少数民族/妇女社区组织、少数民族/妇女承包商群体、联邦、州和地方少数民族/妇女商业援助办公室以及其他组织的服务,在个案基础上协助招聘和安置 QBES。在价格建议书开标后 7 天内,联系商业机会和劳动力发展部门的业务发展经理,通知提议人无法获得 QBE 报价。
- 提议人提交的任何其他证明,表明提议人已做出合理的善意努力以实现 QBE 目标。
此外,部门可能会考虑以下因素
- 提议人的文件是否反映了实现 QBE 目标的明确且切合实际的计划。
- 提议人过去在实现 QBE 目标方面的表现。
- 其他提议人在实现 QBE 目标方面的表现。例如,当具有明显调整后最低价格的提议人未能实现 QBE 目标,但其他人实现了目标时,您可能会合理地提出质疑,是否可以采取合理的额外努力,使具有明显调整后最低价格的提议人能够实现目标。如果具有明显调整后最低价格的提议人未能实现 QBE 目标,但达到或超过其他提议人实现的平均 QBE 参与度,则该部门可能会将此与其他因素一起视为具有明显调整后最低价格的提议人已尽到善意努力的证据。
如果该部门没有将合同授予具有明显调整后最低价格的提议人,则该部门保留将合同授予具有下一个调整后最低价格的提议人的权利,该提议人能够使该部门满意地认为可以实现 QBE 目标或已经为实现 QBE 目标做出了足够的善意努力。
非善意申诉
承包商利用工程师将以口头和书面形式通知投资建设团队非善意。投资建设团队可以对目标合规委员会做出的非善意决定提出申诉。如果投资建设团队希望对委员会做出的决定提出申诉,他们应向合同服务工程师或 QBE@capitalbc.com 发送书面通知。申诉应在收到非善意决定通知后 2 个工作日内提出。
计算 QBE 参与度以实现 QBE 目标
参与度
已承诺的 QBE 参与的总金额将计入合同目标要求。已承诺的 QBE 的参与总金额将基于 QBE 实际完成的工作量以及投资建设团队实际支付给 QBE 公司的金额。
联名支票
在计算 QBE 参与度用于涉及使用联名支票的服务或采购时,需要事先通知使用联名支票。通知应通过提交联名支票通知表,并且联名支票的使用应符合部门的联名支票程序。
分包合同
QBE 可以签订分包合同。QBE 分包给另一家 QBE 公司的工作可以计入合同目标要求。QBE 分包给非 QBE 公司的工作不能计入合同目标要求。如果 QBE 承包商或分包商将合同中大部分工作分包给非 QBE 公司,而这在行业惯例基础上是无法预料的,则应推定 QBE 没有履行商业上有用的功能。QBE 可以向部门提供证据来反驳这一推定。
合资企业
当 QBE 作为合资企业中的参与者时,投资建设团队可以将其合同目标要求中的部分价值计入 QBE 在合资企业中的参与总价值,该部分总金额是 QBE 用其自身力量完成的明确定义的部分工作。
供应商
投资建设团队可以将其 QBE 要求中的 60% 计入完成合同所需的材料和供应品的支出,这些材料和供应品是从 QBE 常规经销商处获得的,并将 100% 计入从 QBE 制造商处获得的此类支出。
制造商和常规经销商
投资建设团队只能将其合同目标要求中的支出计入履行合同工作中具有商业上有用功能的 DBES。
- QBE 公司为提供真实服务(例如,为履行 CapitalBC 协助的合同而专门提供担保或保险)而收取的费用或佣金,前提是该费用或佣金被确定为合理且与通常允许的类似服务的费用和佣金相比不过分。
- 对于从既不是制造商也不是常规经销商的 QBE 处购买的材料或供应品,请计入为协助采购材料和供应品而收取的全部费用或佣金,或为运送所需的材料或供应品而收取的运输费(但不包括材料和供应品本身的成本),前提是费用被确定为合理且与通常允许的类似服务的费用相比不过分。
商业上有用功能
QBE 利用
投资建设团队只能将其合同目标要求中的支出计入在合同工作中履行商业上有用功能的 QBES。当 QBE 负责执行合同工作并通过实际执行、管理和监督所涉及的工作来履行其职责时,它就履行了商业上有用功能。为了履行商业上有用功能,QBE 还应负责合同中使用的材料和供应品的价格谈判、质量和数量确定、材料订购(如果适用)以及材料本身的付款。为了确定 QBE 是否正在履行商业上有用功能,该部门将评估分包工作的数量、行业惯例、公司在合同中应得的报酬是否与其实际完成的工作量以及为其工作绩效要求的 QBE 信用相称,以及任何其他相关因素。
QBE 合作伙伴利用
以下因素将用于确定 QBE 合作伙伴公司是否正在履行商业上有用功能。
- QBE 应负责管理和监督其在特定合同中负责的整个合作伙伴运营,并且不应该存在为了实现 QBE 目标而人为安排的安排。
- QBE 可以将工作分包给另一家 QBE 公司,包括获得 QBE 认证的业主经营者。将工作分包给另一家 QBE 的 QBE 可以获得分包 QBE 在合同中提供的所有服务的总价值的信用。
- QBE 也可以将工作分包给非 QBE 公司,包括业主经营者。将工作分包给非 QBE 的 QBE 有权获得非 QBE 分包商提供的服务的总价值的信用,但不得超过合同。非 QBE 分包商的额外参与只会在分包安排中获得其收取的费用或佣金的信用。QBE 与投资建设团队之间分包协议中执行的服务价值不计入 QBE 合同要求。
- QBE 可以从向公众开放的成熟设备租赁公司租赁设备。租赁协议必须表明 QBE 对设备具有独占使用权和控制权。此要求并不排除在租赁期限内,在 QBE 同意的情况下,租赁的设备可以为其他人工作,只要租赁协议赋予 QBE 使用租赁设备的绝对优先权。只要设备的操作员在 QBE 的工资单上,这种类型的租赁可以计入 QBE 的信用。
- 分包/租赁的设备应清楚地显示其分包/租赁到的 QBE 的名称,如果设备本身未识别,则显示其自身公司名称。
QBE 更换
当投资建设团队依赖于对 QBE 公司(或经批准的替代 QBE 公司)的承诺来满足全部或部分合同目标要求时,投资建设团队不得出于便利性终止 QBE。这包括但不限于,投资建设团队寻求用其他 QBE 分包商、非 QBE 分包商或承包商自己的力量或附属公司的力量来执行已终止的分包商的工作的情况。只有在收到工程师基于发现终止的正当理由的书面批准后,才能终止 QBE。
所有更换已承诺 QBE 公司的请求都应提交给工程师,以便在 RF-1 表格(QBE 更换请求)上获得批准。如果投资建设团队未能遵循此程序,则主要承包商或投资建设团队内的其他关联公司可能会被取消未来竞标资格,最长可达 6 个月。
投资建设团队应遵守以下内容以更换已承诺的 QBE:
与绩效相关的更换
当已承诺的 QBE 因上述正当理由被终止时,可以在投标时提交的额外 QBE 用于履行 QBE 承诺。只有在投标时没有提交额外的 QBE 来覆盖与已终止的 QBE 相同数量的工作时,才需要做出善意努力以移除已承诺的 QBE。
如果找不到能够至少执行与已终止的 QBE 相同数量工作的替代 QBE,则设计施工团队应提交一份善意努力文件,记录所采取的步骤。此类文件应包括但不限于以下内容:
- 向 QBES 发送的书面通知的副本,通知他们对签订先前 QBE 违反的合同的工作或对合同中其他工作项目的转包感兴趣。
- 与 QBES 协商特定分包报价的努力,包括但不限于
- 联系的 QBES 的姓名、地址和电话号码。
- 对提供给 QBES 的有关要执行的工作部分的计划和规范的信息的描述。
- 列出未接受 QBE 报价的原因。
- 如果需要,为联系的 QBES 提供帮助以获得设计施工团队要求的担保或保险的努力。
取消认证更换
- 当已承诺的 QBE 在 SAF(分包批准表格)被部门收到后被部门取消认证时,部门不会要求投资建设团队寻求等于已取消认证的公司要执行的剩余工作的替代 QBE 参与度。等于已取消认证的公司执行的剩余工作的参与度将计入合同目标要求。
- 当已承诺的 QBE 在部门收到已命名 QBE 公司的 SAF(分包批准表格)之前被取消认证时,投资建设团队应采取一切必要且合理的步骤,用另一家 QBE 分包商替换 QBE 分包商,以执行至少相同数量的工作以满足 QBE 目标要求。如果找不到能够执行相同数量工作的 QBE 公司,则必须向 CapitalBC 提交一份善意努力文件(有关所需文件的详细信息,请参见本文档中的 A 部分)。
# 额外的功能信息
除了分页符之外,分页功能还会显示页码和文档的总页数。该功能还引入了一个专用的工具栏,让您轻松地跳转到文档的下一页或上一页,或者直接跳转到特定页码。
分页功能是对CKEditor 5的导出为PDF和导出为Word功能的补充,确保每次都能生成正确的输出。结合其他CKEditor 5功能,这些插件可以实现高级编辑和文档创建。这种实用的应用在如何使用CKEditor 5分页功能创建可打印的文档博客文章中进行了展示。
分页插件不能用于反映从Word导入的内容中的原始分页。这是一个仅用于导出的功能。
# 开始之前
要使用此高级功能,您需要使用正确的凭据激活它。有关详细信息,请参阅许可证密钥和激活指南。
对于导出插件,您需要一个特殊的令牌端点。要获取它,请登录您的CKEditor生态系统仪表板帐户并按照创建令牌URL的指南操作。当导出功能在没有此令牌的情况下使用时,所有生成的文档都将在每页底部包含水印。
获得所有必要的凭据后,创建一个自定义编辑器并配置它。
# 安装
在安装编辑器后,将该功能添加到您的插件列表和工具栏配置中
import { DecoupledEditor } from 'ckeditor5';
import { Pagination } from 'ckeditor5-premium-features';
DecoupledEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Pagination, /* ... */ ],
toolbar: [
'previousPage',
'nextPage',
'pageNavigation',
'|',
// More toolbar items.
// ...
],
pagination: {
// A4
pageWidth: '21cm',
pageHeight: '29.7cm',
pageMargins: {
top: '20mm',
bottom: '20mm',
right: '12mm',
left: '12mm'
}
},
licenseKey: '<YOUR_LICENSE_KEY>'
} )
.then( /* ... */ )
.catch( /* ... */ );
# 配置
有关更多技术细节,请查看插件配置API。
配置对于允许分页功能测量分页符的位置至关重要。这些配置值必须与导出为PDF或导出为Word配置匹配。两种配置的结构不同。
# 示例配置
{
pagination: {
// A4
pageWidth: '21cm',
pageHeight: '29.7cm',
pageMargins: {
top: '20mm',
bottom: '20mm',
left: '12mm',
right: '12mm'
}
},
licenseKey: '<YOUR_LICENSE_KEY>'
}
# 插件选项
插件选项告诉分页功能页面格式和页边距是什么。还有一个额外的配置选项,允许您在所有浏览器(包括官方不支持的浏览器)中启用分页。
-
config.pagination.pageWidth
,config.pagination.pageHeight
页面尺寸。
-
页边距。
-
config.pagination.enableOnUnsupportedBrowsers
默认情况下,分页功能仅在使用Blink引擎(Chrome、Chromium、新版Edge、新版Opera)的浏览器中启用。可以通过将此配置选项设置为
true
来修改此行为。
# 分页工具栏
CKEditor 5分页功能提供了一些工具栏项目,可以添加到您的编辑器工具栏配置中。它们都是可选的 - 分页功能不需要它们来显示文档分页。
不过,分页工具栏按钮使文档导航更容易。
'nextPage'
按钮允许您跳转到文档的下一页。'previousPage'
按钮允许您跳转到文档的上一页。'pageNavigation'
工具栏项目显示总页数,并允许您直接跳转到特定页码。
import { DecoupledEditor } from 'ckeditor5';
import { Pagination } from 'ckeditor5-premium-features';
DecoupledEditor
.create( document.querySelector( '#editor' ), {
plugins: [ Pagination, /* ... */ ],
toolbar: [
'previousPage',
'nextPage',
'pageNavigation',
'|',
// More toolbar items.
// ...
]
} )
.then( /* ... */ )
.catch( /* ... */ );
# 故障排除
分页功能计算分页符在本地浏览器中的位置,但导出为PDF或导出为Word功能由CKEditor云服务的专用HTML到PDF和DOCX转换服务处理。因此,必须将内容样式与发送到后端服务的样式匹配。即使是边距、填充、字体大小等设置的微小差异,也可能导致编辑器中的内容与生成的PDF或Word文件之间出现不一致。因此,本地浏览器可能会在错误的位置计算分页符。
# 编辑器内容样式
例如,如果您使用的是分离式编辑器(文档编辑器),则需要确保编辑器样式与您提供给该功能以及导出为PDF或导出为Word功能的配置选项完全匹配。
.ck.ck-editor__editable_inline {
/* A4 size */
width: calc( 210mm + 2px ); /* Expand the width by 2px because of the border and "box-sizing: border-box". */
height: auto;
padding: 20mm 12mm;
box-sizing: border-box;
border: 1px solid hsl( 0, 0%, 88% );
background: hsl( 0, 0%, 100% );
box-shadow: 0 2px 8px hsla( 0, 0%, 0%, .08 );
margin: 40px auto;
overflow: hidden;
}
注意元素宽度计算。
# 发送到服务的样式表
在准备发送到导出为PDF或导出为Word服务的样式表时,您应该
-
确保所有元素的样式都完全一致。
-
重置默认页边距
@media print { body { margin: 0 !important; } }
-
覆盖浏览器默认的表格换行行为
.ck-content .table thead { display: table-row-group; } .ck-content .table tr { break-inside: avoid; break-after: auto; }
# CKEditor 5初始化
如果您想创建分离的编辑器并在稍后将其附加到DOM树,请记住在编辑器附加后调用editor.ui.update();
。
DecoupledEditor
.create( initialData, config )
.then( editor => {
const editorContainer = document.querySelector( '#editor-container' );
const toolbarContainer = document.querySelector( '#toolbar-container' );
toolbarContainer.appendChild( editor.ui.view.toolbar.element );
editorContainer.appendChild( editor.ui.view.editable.element );
editor.ui.update();
} );
# 已知问题
# 导出为Word中的自动分页符
浏览器引擎和Microsoft Word存在很大差异。因此,导出为Word中自动预测分页符存在问题,并且容易出错。建议在导出时查看文档的结构,并手动应用分页符,以保持首选的结构。您也可以使用导出为PDF,其中预测分页符更直接,并且运行更一致。
# 不支持的插件
目前,并非所有CKEditor 5插件和功能都与分页和导出为PDF或Word兼容。请参考导出功能的文档以了解更多信息
# 浏览器兼容性
目前,分页功能在以下网络浏览器中运行良好
- Chrome
- Chromium
- 最新版Edge
- 最新版Opera
分页插件目前在Firefox中不起作用。Safari中也存在一些故障。为了防止用户看到可能无效的分页,该插件在检测到这些不受支持的浏览器后会自行禁用。
如果您想在不受支持的浏览器中启用分页功能,可以将config.pagination.enableOnUnsupportedBrowsers
配置选项设置为true
,或者通过调用editor.plugins.get( 'Pagination' ).clearForceDisabled( 'browserCheck' )
在运行时启用它。
# 相关功能
以下是一些有用的CKEditor 5功能,您可以将它们与分页插件一起使用,以获得全面的分页编辑体验
# 通用API
Pagination
插件注册
-
'pageNavigation'
工具栏项目。 -
'nextPage'
和'previousPage'
按钮。 -
getData()
方法的'pagination'
选项const data = editor.getData( { pagination: true } );
此选项启用计算出的分页符的下行转换。
-
在元素开头
<p style="page-break-before:always;" data-pagination-page="4"> ... </p>
-
在文本中
<p> ... <span style="page-break-before:always;" data-pagination-page="8"></span> ... </p>
-
如果您对此功能有任何其他意见或建议,我们将很乐意您联系我们并分享它们!
我们每天都在努力使我们的文档完整。您是否发现过时信息?是否缺少内容?请通过我们的问题跟踪器报告。
随着42.0.0版本的发布,我们重写了大部分文档,以反映新的导入路径和功能。我们感谢您的反馈,以帮助我们确保其准确性和完整性。