本教程展示如何使用LEADTOOLS SDK在macOS Swift控制台应用程序中创建一个新的PDF文档并向其添加页面。
概述 | |
---|---|
总结 | 本教程介绍如何在macOS Swift控制台应用程序中创建文档并操作其页面。 |
完成时间 | 30分钟 |
项目 | 下载教程项目(6kb) |
平台 | Swift macOS控制台应用程序 |
IDE | Xcode |
运行许可证 | 下载LEADTOOLS |
用另一种语言试试 |
|
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前使用文档作者创建文档- macOS Swift控制台教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
所需要的参考资料取决于项目的目的。本教程需要以下位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ \ macOS Xcode \框架
:
Leadtools.framework
Leadtools.Codecs.framework
Leadtools.Codecs.Cmp.framework
Leadtools.Codecs.Jb2.framework
Leadtools.Codecs.Tif.framework
Leadtools.Document.Core.framework
Leadtools.Document.Writer.framework
Leadtools.Drawing.framework
Leadtools.ImageProcessing.Color.framework
Leadtools.ImageProcessing.Core.framework
Leadtools.ImageProcessing.Utilities.framework
Leadtools.Pdf.framework
Leadtools.Svg.framework
编辑Leadtools-Bridging-Header.h
文件添加以下导入:
# < Leadtools.Codecs /进口Leadtools.Codecs.h >
# < Leadtools.Document.Writer /进口Leadtools.Document.Writer.h >
有关应用程序需要哪些文件的完整列表,请参阅在你的申请中包含的文件.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中更详细地介绍了添加LEADTOOLS引用和设置许可添加引用和设置License教程。
随着项目的创建、引用的添加和许可的设置,编码就可以开始了。
使用项目导航器,打开main.swift
.添加一个名为CreatePdfDocument ()
然后在下面调用SetLicense ()
.添加下面的代码创建一个新的PDF文档,并将给定目录中每个PDF文件的第一页添加到该文档中。
func CreatePdfDocument() {
let codecs = LTRasterCodecs()
Let dir =“/道路/ / LEADTOOLS22 /资源/图片”
let outDir =“/道路/ / LEADTOOLS22 /资源/图片”
let pageNumber = 1
让pdfFiles = GetFiles(目录:dir,扩展名:. pdf”)
let format = LTDocumentFormat.pdf
let outFile = String(" \ \ (LTDocumentWriter (outDir) / DocumentWriters。fileExtension(格式)):“)
codecs.options.rasterizeDocument.load.xResolution = 300
codecs.options.rasterizeDocument.load.yResolution = 300
let docWriter = LTDocumentWriter();
让pdfOptions = docWriter.options(为格式)as?LTPdfDocumentOptions
pdfOptions ?。做cumentType = LTPdfDocumentType.pdfA
pdfOptions ?。imageOverText =真正的
docWriter.setOptions (pdfOptions为:格式)
//开始一个新的PDF文档
做{
试一试docWriter。beginDocument(fileName: outFile, format: format, progress: nil)
}抓{
打印(error.localizedDescription)
}
//添加页面
为文件在pdfFiles {
let page = LTDocumentWriterSvgPage()
做{
let svgDoc =试一试编解码器。loadSvg(文件,页面:pageNumber,选项:nil)
页面。svgDocument = svgDoc
}抓{
打印(error.localizedDescription)
}
如果pdfOptions ?。imageOverText != nil {
//如果我们使用图像/文本,然后加载叠加光栅图像
做{
试一试页面。image = LTRasterImage。init(图片:编解码器。加载(文件:文件,pageNumber: pageNumber))
}抓{
打印(error.localizedDescription)
}
}
//将页面添加到创建的PDF文档中
做{
试一试docWriter.add(页面)
守卫让文件名= URL(字符串:文件)其他的{继续}
打印("添加了page \(pageNumber) from \(filename.deletingPathExtension().lastPathComponent)\n")
}抓{
打印("添加文件错误:\(file)\n\(Error . localizeddescription)")
}
//释放资源
如果页面。svgDocument != nil {
页面。svgDocument = nil
}
如果页面。Image != nil {
页面。Image = nil
}
}
//最后完成的文档到磁盘
做{
试一试docWriter。endDocument(进展:nil)
打印("PDF文件保存成功!")
}抓{
打印(error.localizedDescription)
}
}
另外,添加一个名为GetFiles(目录:字符串,扩展名:字符串)->[字符串]
.类中调用此函数CreatePdfDocument ()
函数,如上所示。将代码添加到新函数中以生成PDF文件列表。
func GetFiles(目录:字符串,扩展名:字符串)->[字符串]{
[String] = []
让url = url (fileURLWithPath: directory)
let fileManager = fileManager。默认的
let enumerator: FileManager。DirectoryEnumerator = fileManager。枚举器(atPath: url.path) !
而let element = enumerator.nextObject() as?字符串{
后卫element.hasSuffix(扩展)其他的{继续}
let file = String(“\(目录)/ \(元素)”)
files.append(文件)
}
返回文件
}
清除项目以通过选择清除任何错误Product ->清洁构建文件夹或Shift + Command + K.
通过选择运行项目Product ->运行或Command + R.
如果正确地遵循了这些步骤,应用程序将运行并使用LEADTOOLS SVG和Document writer创建一个新的PDF文件,其中包含给定目录中每个PDF文件的所有第一页。
本教程展示了如何使用Document writer创建文档。它还涵盖了如何使用LTDocumentWriter
,LTPdfDocumentOptions
,LTDocumentWriterSvgPage
,LTRasterCodecs
类。