## **导入 PDF 文件**
<br>一旦完成集成 ComPDFKit PDF SDK,就可以通过 CPDFDocument 对象打开和显示 PDF 文档。
```
// Get the path of a PDF
string filePath ="";
var dlg = new OpenFileDialog();
dlg.Filter = "PDF Files (*.pdf)|*.pdf";
if (dlg.ShowDialog() == true)
{
filePath = dlg.FileName;
}
else
{
return;
}
// Initialize a CPDFDocument object with the path to the PDF file
CPDFDocument document = CPDFDocument.InitWithFilePath(filePath);
if(document==null)
{
return;
}
if(document.ErrorType != CPDFDocumentError.CPDFDocumentErrorSuccess
&& document.ErrorType != CPDFDocumentError.CPDFDocumentPasswordError)
{
return;
}
```
<br>
## **编辑PDF**
<br>ComPDFKit包含了成熟完整的PDF功能,包括查看、编辑、注释、填表、转换、安全、编辑、OCR、导航等。在下一节中,我们将介绍如何实现这些功能。如果您对其他功能感兴趣,请阅读相关文档或博客。
<br>1. 插入 PDF 页面:
假设您要添加另一个 PDF 文件中的第一个 PDF 页面。并且您想在第一个 PDF 页面之前添加页面。按照此处的代码示例并尝试执行此操作。
```
CPDFDocument otherDocument = CPDFDocument.InitWithFilePath("***");
document.ImportPagesAtIndex(otherDocument, "0", 0);
otherDocument.Release();
```
<br>2. Annotation:添加文字说明
插入 PDF 页面后,还需要进行其他处理。例如,当一行字可能需要更多细节来解释时,您可以使用文本注释。在这里,您可以找到有关如何添加文本注释的方法。
<br>3. 注释:突出 PDF 的内容
现在,您需要突出一些关键字。ComPDFKit 支持执行此操作的常规方法,例如突出显示、下划线、墨水等。以下代码显示了在第 5 页高亮显示所有关键字“Step”的方法。
```
CPDFPage page = document.PageAtIndex(4);
if (page == null)
return;
List rects = new List();
CPDFTextPage textPage = page.GetTextPage();
CPDFTextSearcher searcher = new CPDFTextSearcher();
int findIndex = 0;
if (searcher.FindStart(textPage, "Step", C_Search_Options.Search_Case_Sensitive, findIndex))
{
CRect textRect = new CRect();
string textContent = "";
while (searcher.FindNext(page, textPage, ref textRect, ref textContent, ref findIndex))
{
rects.Add(textRect);
}
}
searcher.FindClose();
CPDFHighlightAnnotation highlight = page.CreateAnnot(C_ANNOTATION_TYPE.C_ANNOTATION_HIGHLIGHT) as CPDFHighlightAnnotation;
byte[] color = { 0, 255, 0 };
highlight.SetColor(color);
highlight.SetTransparency(120);
highlight.SetQuardRects(rects);
highlight.UpdateAp();
```
<br>4. 保存所做的更改
完成所有更改后,我们可以保存它并完成我们的使用。这是将您所做的所有更改保存在新 PDF 文件中的代码方法。
```
document.WriteToFilePath("newFilePath");
document.Release();
```
有疑问加站长微信联系(非本文作者)