我使用 PDFTron 更新/編輯 PDF 檔案。我已經按照檔案打開來自服務器的 PDF 檔案,但我不確定如何使用此 SDK (PDFTron) 保存編輯后的 ??PDF 檔案。
我參考了以下鏈接來保存 PDF,但沒有成功。 https://www.pdftron.com/documentation/ios/guides/features/forms/export-data/ https://www.pdftron.com/api/ios/Enums/PTSaveOptions.html
我想將 XFDF 檔案格式發送到服務器。
PDFTron 會在一段時間后自動保存帶有注釋的 PDF,但我希望通過按下保存按鈕來保存它。我被困在這個保存程序中。
我有以下代碼來匯入注釋,但我不知道如何匯入此 XFDF 檔案以及從何處獲取此 XFDF 檔案。
// Import annotations from XFDF to FDF
let fdf_doc: PTFDFDoc = PTFDFDoc.create(fromXFDF: xfdf_filename)
// Optionally read XFDF from a string
let fdf_doc: PTFDFDOc = PTFDFDoc.create(fromXFDF: xfdf_string)
// Merge FDF data into PDF doc
let doc: PTPDFDoc = PTPDFDoc(filepath: filename)
doc.fdfMerge(fdf_doc)
我不希望它是我自己的自定義,我只希望它在按下按鈕時由我保存。
下面是我的查詢
- 如何自己將應用的注釋保存在 PDF 上?
uj5u.com熱心網友回復:
對檔案資料進行更改后,您可能希望對更新后的 PDF 執行某些操作,例如讓用戶下載它或將其發送回您的服務器。
如果您只想讓用戶下載編輯后的檔案,則無需進行額外更改,因為按下下載按鈕會將修改后的 PDF 保存到用戶的計算機上。要添加自定義保存按鈕,這里是一個代碼示例。
如果要將修改后的 PDF 作為 ArrayBuffer 獲取,則可以在 Document 上使用 getFileData函式。
例如:
WebViewer(...)
.then(instance => {
const { documentViewer, annotationManager } = instance.Core;
documentViewer.addEventListener('documentLoaded', async () => {
const doc = documentViewer.getDocument();
const xfdfString = await annotationManager.exportAnnotations();
const options = { xfdfString };
const data = await doc.getFileData(options);
const arr = new Uint8Array(data);
const blob = new Blob([arr], { type: 'application/pdf' });
// upload blob to your server
});
});
uj5u.com熱心網友回復:
我已經按照檔案打開來自服務器的 PDF 檔案
有幾種方法可以做到這一點 - 你能分享你正在使用的 API 嗎?
您的問題的要點似乎是如何通過按下按鈕來保存 PDF(在您合并 XFDF 注釋資料之后)。是這種情況嗎?
您可以通過實作相關的委托方法來控制共享遠程檔案的位置,特別是https://www.pdftron.com/api/ios/Protocols/PTDocumentControllerDelegate.html#/c:objc(pl)PTDocumentControllerDelegate(im)documentController :destinationURLForDocumentAtURL :
然后,您可以使用此方法保存檔案:
https://www.pdftron.com/api/ios/Classes/PTDocumentBaseViewController.html#/c:objc(cs)PTDocumentBaseViewController(im)saveDocument:completionHandler:
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/315657.html
