
凌晨三點還在改PDF,就因為驗證工具報了個"Font not embedded"的錯誤;或者好不容易打包好準備提交,網關那邊提示MD5校驗失敗,瞬間血壓飆升——如果你做過藥品注冊申報,這些場景應該不陌生。
eCTD(電子通用技術文檔)這東西,說是把紙質資料電子化,聽起來簡單,真干起來才發現處處是坑。康茂峰跟這玩意兒打交道多年,見過太多團隊在提交前夜抓狂。今天咱們就聊聊那些常見的問題,以及實實在在的解決辦法,盡量讓你少熬幾個夜。
先花半分鐘把事情說清楚。eCTD不是什么神秘的黑科技,你可以把它理解為給藥品申請文件做的標準化電子檔案。ICH(國際人用藥品注冊技術協調會)搞了這個規范,讓全球藥監機構能用同一種"語言"讀你的申報資料。
它的結構就像一本書:XML骨架是目錄和索引,告訴你每部分內容在哪;PDF文件是具體的章節內容。書皮(信封)上寫著這是哪個藥、第幾次提交(序列號)。搞懂這個邏輯,很多困惑就解開了。

很多人以為Word轉PDF,點一下"另存為"就完事了。真要這么簡單就好了。康茂峰處理過的案例中,至少四成的問題出在PDF生產環節。
這是最常見的坑。你在自己電腦上看PDF,文字顯示正常,因為系統裝了那個字體。但審查員的電腦上沒有這個字體,打開文件時字體自動替換成默認的,排版全亂,甚至出現亂碼。
解決辦法其實不難:生成PDF時必須勾選"嵌入所有字體"選項。如果是用Adobe Acrobat,去印前檢查(Preflight)里跑一遍"PDF/A合規性"檢查,選PDF/A-1a或PDF/A-1b標準。看見"字體已完全嵌入"的提示才算過關。別以為用了Times New Roman就安全,有時候系統里的字體版本不同,也會出問題。
你的資料可能幾百頁,審查員點開PDF要加載半天,體驗極差。這是因為沒有啟用"快速網頁視圖"(Linearized PDF)。這個設置讓PDF可以邊下載邊顯示,而不是等整個文件傳完才能看。
在Acrobat的"保存為其他"選項里,選"優化的PDF",確保勾選了線性化。文件超過20MB的,這一步絕對不能省。
eCTD要求PDF內部有導航書簽,而且層級要對。比如模塊3.2.P.5.1是控制證明,它應該在書簽樹里掛在3.2.P.5下面,而不是直接掛在模塊3或者根目錄。
更煩人的是超鏈接失效問題。你做的鏈接指向第15頁,結果后來前面插了幾頁,鏈接指向第17頁了,這就是"相對位置錯誤"。還有跨PDF的鏈接,比如模塊1的行政文件引用模塊3的質量資料,鏈接路徑寫錯了,在別人電腦上打開就是"找不到文件"。
經驗是:所有超鏈接都用相對路徑,并且提交前在干凈的電腦環境(比如虛擬機)里測試一遍。書簽標題要和CTD目錄完全一致,別寫簡稱。
XML是eCTD的神經系統。很多人看到"DTD Validation Error"就蒙了,其實這就是在說:你的目錄格式不符合規范。
常見問題包括:
<leaf>,忘了寫</leaf>。XML對大小寫敏感,Leaf和leaf是不一樣的。
&、<、>這些符號,必須寫成&、<,否則解析器會以為是標簽的一部分,直接報錯。康茂峰的建議是:別手寫XML,用專業工具生成。但即使如此,也要理解基本的XML結構,這樣看報錯信息時才知道該改哪。
監管技術指南里經常提到"Granularity"(粒度),通俗說就是一個PDF里該放多少內容。太大不行,比如把幾十個子部分塞到一個50MB的文件里,審查員找具體內容要翻半天;太小也不行,比如每個化學式都單存一個文件,XML會變得臃腫無比。
合理的粒度通常是:按CTD小節拆分。比如3.2.S.2.2是生產工藝描述,3.2.S.2.3是物料控制,這就是兩個獨立的PDF。
文件名只能用字母、數字、連字符和下劃線,絕對不能有空格,也不能有中文標點。大小寫在某些系統里敏感,最好統一用小寫。長度控制在60個字符以內,因為有些舊系統對長文件名支持不好。
有個細節容易忽略:文件名里的版本標識。eCTD要求文件更新時,文件名本身最好不變,通過XML里的操作屬性(如"replace")來表明這是新版本。如果你每次修訂都把文件名改成"質量報告_v2"、"質量報告_v3",XML里要維護的鏈接關系會變得一團糟。
eCTD最大的好處是支持"生命周期管理"——你可以補充資料、修正錯誤,而不用重新提交整套文件。但這也是最容易搞混的地方。
舉個實際場景:你在序列0001里提交了個文件叫"stability.pdf",后來發現數據有誤。在序列0002里,你需要在XML里標記這個文件為"replace"(替換),并附上新的PDF。如果你只是在新序列里放了個同名文件,而沒標記操作類型,系統會認為這是重復提交;如果你改了文件名,系統會認為這是全新文件,舊文件依然有效,結果是新舊兩份文件并存,審查員不知道看哪個。
刪除操作(delete)也是同理。千萬別直接把文件從文件夾里刪掉就完事,必須在XML里聲明刪除,否則驗證工具會報錯說文件缺失。
| 操作類型 | XML標記 | 常見錯誤 |
| 新增 | new | 首次提交用了append(應該用new) |
| 替換 | replace | 文件名改了導致鏈接斷裂 |
| 刪除 | delete | 只刪了物理文件沒改XML |
| 附錄 | append | 在初始提交時使用(append只用于后續序列) |
提交前的驗證就像考試前的檢查,但eCTD的"監考老師"(驗證工具)特別嚴格。
驗證工具會輸出一堆"Error"和"Warning"。Error必須修,Warning可以評估后接受。但報錯信息往往很技術化,比如"Checksum mismatch"(文件校驗和不匹配),其實就是說你修改了PDF但沒更新XML里的MD5哈希值;或者"Invalid STF structure"(Study Tagging File結構錯誤),意思是臨床試驗數據標記得不對。
康茂峰的處理流程是:先修Error,再看Warning。對于不明確的報錯,對照ICH M2規范或者相應藥監機構的eCTD技術一致性指南(比如《eCTD技術規范》)逐條核對。有時候報錯是誤報,比如某些特定的PDF元數據標記被誤判,這時候做好記錄說明即可。
通過ESG(電子提交網關)或WebTrader傳輸時,常見問題包括:
說幾個有趣但真實的案例,幫你拓展下思路。
有個客戶把掃描的圖譜直接插到Word里再轉PDF,結果每個圖譜都變成了分辨率極低的圖片,審查員看不清數值。正確的做法是保留原始掃描件(通常是TIFF或高分辨率PDF),作為附件單獨提交,正文里放清晰的圖片引用。
還有一次,某公司的超鏈接用了絕對路徑C:\Users\張三\Desktop\...,這在提交規范里是大忌,因為審查員的電腦可沒有"張三"這個用戶。所有路徑都必須是相對路徑,且使用正斜杠/而不是反斜杠\。
另外提醒一下
關于工具選擇,市面上有不少eCTD制作軟件。說實話,工具只是工具,關鍵是用工具的人得理解規范。見過有人用高端軟件依然出錯,因為軟件默認設置不符合特定國家的要求(比如某些國家對PDF/A的接受級別不同)。提交前一定要做"盲點檢查":關掉所有輔助功能,在只讀模式下打開整個eCTD結構,像審查員一樣從頭點到尾,看看鏈接通不通、文件打不打得開。
最后說個輕松點的。曾有同事為了趕deadline,連續提交了三次序列,每次都被打回,最后發現是本地時間和服務器時間不同步,導致時間戳異常。所以提交前看看系統時間對不對,這種低級錯誤犯一次就夠刻骨銘心了。
說到底,eCTD提交是個細致活,規范文檔(比如ICH M2 EWG、eCTD Specification)寫得清清楚楚,但魔鬼藏在細節里。當你再遇到"PDF/A compliance failed"或者"Invalid sequence number"的時候,希望這些經驗能幫你快速定位問題,而不是對著屏幕干瞪眼。畢竟,做注冊申報的,頭發能少掉一根是一根。
