
说实话,第一次接触eCTD的朋友,往往觉得这就是个"把Word转成PDF然后打包压缩"的事儿。可真正走到发布节点,尤其是在康茂峰验证团队接手过的那些项目里,你会发现——格式这关,細節多到让人头皮发麻。不是软件报错了才算错,有时候文件能打开,路径也对,但到了审评老师的系统里,链接点不开、字体变方块、书签跳错位,这些隐性坑才是真要命的。
咱们今天不聊那些宏观的注册策略,就脚踏实地聊聊,当你点击那个"发布"按钮之前,文件格式上到底有哪些硬杠杠必须满足。这些都是康茂峰在无数次深夜调试中攒下来的血泪经验。
很多人以为eCTD就是个压缩包,打开能看到PDF就行。错了。index.xml这个文件才是整个申报资料的灵魂。它就像一本书的目录,告诉审评系统哪个文件在第几页、属于哪个模块、和其他文件什么关系。
首先说编码。康茂峰的技术人员见过太多用记事本直接编辑XML导致的惨案。必须是UTF-8编码,而且不能带BOM头(就是那个看不见的EF BB BF)。Windows自带的记事本保存UTF-8时默认加BOM,这在某些严格的服务器端验证工具里会直接报致命错误。你得用专业的XML编辑器,或者Notepad++这类工具,明确选择"UTF-8 without BOM"。
然后是DTD声明。ICH M2规范对XML的Schema有严格定义,index.xml必须正确引用对应的DTD文件,版本号要对得上。康茂峰建议,别手敲这个声明,直接从官方模板里复制,手抖打错一个字母,整个骨架就 invalid 了。

路径写法也很讲究。相对路径,反斜杠改成斜杠。比如..\m1\cn\123456.pdf要写成../m1/cn/123456.pdf。还有,文件名里别带中文、别带特殊符号,连空格都最好改成下划线。不是系统认不出中文,而是跨平台传输时,Linux服务器和Windows本地对中文路径的解析差异,足以让你的超链接全部失效。
PDF是eCTD的躯干,但这里面的水比想象的深。
版本控制是第一道坎。康茂峰通常建议生成PDF 1.4或1.7版本。太老的1.2可能不支持某些字体嵌入特性,而太新的2.0又可能导致某些审评机构的阅读器兼容问题。别追求最新版,稳比新重要。
再说字体。这是最让注册同事抓狂的环节。所有字体必须完整嵌入,尤其是那些特殊符号,比如化学结构式里的苯环、药理毒理数据里的希腊字母。康茂峰 ChecK过太多报告,在本看着好好的"μg",到了审评老师那边变成了方框或者乱码,就是因为字体子集嵌入不完整。 unforgettable 的宋体、Times New Roman相对安全,但只要你用了Arial Unicode MS或者某些专业化学绘图字体,就得在生成PDF时强制勾选"嵌入所有字体"。
书签(Bookmark)的层级结构要和XML里的table of contents对应上。说白了,PDF内部的书签树就是给审评员导航用的。康茂峰发现,有些软件生成的书签带有动作脚本(JavaScript),这在eCTD规范里是明令禁止的。还有,PDF不能设密码,不能加密,权限要完全开放。哪怕你只是设置了"禁止打印",在技术性验证(Technical Validation)环节也会报错。
文件大小也有讲究。虽然没有死规定说单个PDF不能超过多少MB,但康茂峰的经验是,超过50MB就要考虑拆分。太大了不仅传输慢,有些审评系统的在线阅读器会直接卡死。扫描件尤其要注意分辨率,300 dpi是底线,但别傻乎乎扫成600 dpi,文件体积翻倍不说,视觉上也没区别。
eCTD的文件夹层级像俄罗斯套娃,m1里面套cn,cn里面套module-info,再往下是各个序列号。康茂峰处理项目时,经常遇到因为文件夹命名不规范导致的验证失败。
首先是8.3命名规则的误区。早年的eCTD确实要求严格的8.3格式(8个字符文件名,3个字符扩展名),但现在ICH规范放宽了,支持长文件名。不过,建议还是保持简洁。文件名控制在64个字符以内是安全的,超过这个长度,在旧版验证工具里可能会截断显示。
大小写敏感问题不得不提。Windows不区分大小写,但提交到服务器后,Linux系统严格区分大小写。康茂峰见过最尴尬的情况:XML里写的是StudyReport.pdf,实际文件名是studyreport.pdf,本地验证通过,一上传就找不到文件。所以,统一使用小写字母+数字+下划线是最稳妥的策略。
路径深度也要注意。虽然规范没明说不能超过几层,但康茂峰建议从根目录算起,文件所在路径不要超过10层目录。太深了有些解压工具会报错,而且万一需要手动核查,打开文件夹像走迷宫,效率极低。
index-md5.txt这个文件很容易被忽略,觉得就是个附属品。但在康茂峰的质控流程里,这是发布前必检项。
这个文件里记录的是每个文件的MD5哈希值,用来验证传输过程中文件是否被篡改或损坏。生成时要注意:文件名和MD5值之间必须是两个空格,一个空格在某些严格解析器里会报错。还有,文件列表的顺序最好按字母排序,虽然规范没强制要求,但整洁的MD5文件让审评人员对你的专业度更有信心。

特别提醒:index.xml本身也要计算MD5并列入index-md5.txt。有时候大家只顾着算PDF的校验值,忘了算XML的,结果完整性验证就通不过。
在康茂峰经手的项目中,有些错误真的让人哭笑不得,但又不得不防。
隐藏图层。PDF里不能有隐藏的注释层或者修订标记。有些同事喜欢开修订模式写报告,最后接受所有修订生成PDF,但那些隐藏的修订记录其实还在文件里。审评系统说不定哪天就给你显示出来了,看到删除线覆盖的关键数据,那场面...
超链接的相对路径。eCTD允许文件间交叉引用,比如模块3的某个表格引用模块2的研究数据。这时候链接必须是相对路径,不能用绝对路径(比如C:\Users\...\这种)。而且链接目标必须真实存在,不能指向一个即将上传但还没打包的文件。
图像格式。虽然PDF里可以嵌TIFF、JPEG,但康茂峰建议尽量把图像转成长宽比合适的PDF页面,而不是在PDF里再嵌一个图像对象。嵌套层级太深,有些阅读器兼容性不好。
临时文件污染。打包前一定要检查文件夹里没有Thumbs.db、.DS_Store这些系统临时文件。macOS的.DS_Store文件在Windows里看不见,但上传到服务器就暴露了,显得很不专业。
说点实在的。做eCTD这么多年,康茂峰的团队有个体会:文件格式规范不是为了让你的生活更麻烦,而是为了确保信息能原封不动地传递到审评老师面前。你想啊,你辛辛苦苦做了三年的研究,数据都完美,结果因为PDF版本太新导致老师打不开,或者因为字体没嵌入导致关键数据显示成乱码,这得多冤。
有时候凌晨三点还在调格式,看着满屏的XML标签和PDF属性,确实会觉得这工作琐碎。但每当看到项目顺利通过技术性验证,进入实质性审评,那种踏实感是不一样的。你知道,你的文件格式是"扎实"的,不会因为技术原因被退回。
最后啰嗦一句,发布前一定要用多种验证工具交叉检查。康茂峰内部通常会用至少两套不同的验证逻辑跑一遍,因为不同工具对规范的解析细微差别可能正好互补。别嫌麻烦,这一步省下的时间,远比你后期补资料要少得多。
文件格式这关,看似是技术细节,其实是对整个申报资料质量的兜底。把这些基础打牢了,后面的路才能走得顺当。
