|
@@ -35,13 +35,17 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
@IBOutlet weak var propertyTitle: NSTextField!
|
|
|
@IBOutlet weak var preImageView: NSImageView!
|
|
|
|
|
|
+ @IBOutlet weak var textPresuppositionContentView: NSView!
|
|
|
@IBOutlet weak var textPresuppositionBox: NSBox!
|
|
|
@IBOutlet weak var resetTextPresuppositionBox: NSBox!
|
|
|
@IBOutlet weak var textPresuppositionTopContstraint: NSLayoutConstraint!
|
|
|
+ @IBOutlet weak var textPresuppositionHeightContstraint: NSLayoutConstraint!
|
|
|
|
|
|
@IBOutlet weak var fontContentView: NSView!
|
|
|
@IBOutlet weak var fontTitleLabel: NSTextField!
|
|
|
@IBOutlet weak var fontImageView: NSButton!
|
|
|
+ @IBOutlet weak var fontContentViewHeightConstraint: NSLayoutConstraint!
|
|
|
+ @IBOutlet weak var fontContentViewTopConstraint: NSLayoutConstraint!
|
|
|
|
|
|
@IBOutlet weak var fontNameBox: NSBox!
|
|
|
@IBOutlet weak var fontStyleBox: NSBox!
|
|
@@ -55,6 +59,7 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
@IBOutlet weak var fontColorButton: NSButton!
|
|
|
@IBOutlet weak var fontCustomColorButton: NSButton!
|
|
|
|
|
|
+ @IBOutlet weak var alignmentTopConstraint: NSLayoutConstraint!
|
|
|
@IBOutlet weak var alignmentView: KMEditPropertyAlignmentView!
|
|
|
|
|
|
var textPresuppositionVC: KMDesignSelect?
|
|
@@ -79,7 +84,13 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
var alignment : NSTextAlignment = .center
|
|
|
var fontName: String = "Helvetica" {
|
|
|
didSet {
|
|
|
- self.fontNameVC?.stringValue = fontName
|
|
|
+ if self.fontNameVC != nil {
|
|
|
+ if self.fontNameVC!.items.contains(fontName) {
|
|
|
+ self.fontNameVC?.stringValue = fontName
|
|
|
+ } else {
|
|
|
+ self.fontNameVC?.stringValue = "Helvetica"
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -99,6 +110,8 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
self.setup()
|
|
|
self.initData()
|
|
|
self.reloadData()
|
|
|
+ self.updateLanguage()
|
|
|
+ self.listView.isEditImage = true
|
|
|
}
|
|
|
|
|
|
func setup() {
|
|
@@ -222,7 +235,14 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
}
|
|
|
|
|
|
func updateLanguage() {
|
|
|
+ let areas = self.listView.editingAreas() ?? []
|
|
|
+ if textsAreas.count > 0 && textsAreas.count != areas.count { //多选图片跟文字
|
|
|
+ self.propertyTitle.stringValue = NSLocalizedString("General Properties", comment: "")
|
|
|
+ } else {
|
|
|
+ self.propertyTitle.stringValue = NSLocalizedString("Text", comment: "")
|
|
|
+ }
|
|
|
|
|
|
+ self.fontTitleLabel.stringValue = NSLocalizedString("Font", comment: "")
|
|
|
}
|
|
|
|
|
|
func reloadData() {
|
|
@@ -230,25 +250,44 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
self.listView.editingAreas().count > 0 {
|
|
|
textsAreas = []
|
|
|
|
|
|
- let areas = self.listView.editingAreas()
|
|
|
- self.alignmentView.editingAreas = areas ?? []
|
|
|
-
|
|
|
- for i in 0 ... areas!.count-1 {
|
|
|
- if areas![i] is CPDFEditTextArea {
|
|
|
- textsAreas.append(areas![i] as! CPDFEditTextArea)
|
|
|
+ let areas = self.listView.editingAreas() ?? []
|
|
|
+ self.alignmentView.editingAreas = areas
|
|
|
+ for i in 0 ... areas.count-1 {
|
|
|
+ if areas[i] is CPDFEditTextArea {
|
|
|
+ textsAreas.append(areas[i] as! CPDFEditTextArea)
|
|
|
}
|
|
|
}
|
|
|
- if textsAreas.count == 1 {
|
|
|
+ if textsAreas.count == 1 && textsAreas.count == areas.count {
|
|
|
self.headerBox.isHidden = false
|
|
|
+ self.fontContentView.isHidden = false
|
|
|
+ self.textPresuppositionContentView.isHidden = false
|
|
|
self.imageViewHeightConstraint.constant = 88
|
|
|
self.textPresuppositionTopContstraint.constant = 152
|
|
|
- } else if textsAreas.count > 1 {
|
|
|
+ self.fontContentViewHeightConstraint.constant = 153
|
|
|
+ self.alignmentTopConstraint.constant = 16
|
|
|
+ self.fontContentViewTopConstraint.constant = 8
|
|
|
+ } else if textsAreas.count > 1 && textsAreas.count == areas.count {
|
|
|
self.headerBox.isHidden = true
|
|
|
+ self.fontContentView.isHidden = false
|
|
|
+ self.textPresuppositionContentView.isHidden = false
|
|
|
self.imageViewHeightConstraint.constant = 0
|
|
|
self.textPresuppositionTopContstraint.constant = 50
|
|
|
+ self.fontContentViewHeightConstraint.constant = 153
|
|
|
+ self.alignmentTopConstraint.constant = 16
|
|
|
+ self.fontContentViewTopConstraint.constant = 8
|
|
|
+ } else if textsAreas.count > 0 && textsAreas.count != areas.count { //多选图片跟文字
|
|
|
+ self.headerBox.isHidden = true
|
|
|
+ self.fontContentView.isHidden = true
|
|
|
+ self.textPresuppositionContentView.isHidden = true
|
|
|
+ self.fontContentViewHeightConstraint.constant = 0
|
|
|
+ self.textPresuppositionTopContstraint.constant = 16
|
|
|
+ self.imageViewHeightConstraint.constant = 0
|
|
|
+ self.alignmentTopConstraint.constant = 0
|
|
|
+ self.fontContentViewTopConstraint.constant = 0
|
|
|
}
|
|
|
|
|
|
self.refreshSelectAreaProperty()
|
|
|
+ self.updateLanguage()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -257,10 +296,18 @@ class KMEditPDFTextPropertyViewController: NSViewController {
|
|
|
let areas = self.listView.editingAreas().first
|
|
|
if areas is CPDFEditTextArea {
|
|
|
let sizeString = "\(abs(self.listView.editingSelectionFontSize()))"
|
|
|
- let fontName: String = self.listView.editingSelectionFontName() ?? "Helvetica"
|
|
|
+ var fontName: String = self.listView.editingSelectionFontName() ?? "Helvetica"
|
|
|
let alignment = self.listView.editingSelectionAlignment()
|
|
|
var color = self.listView.editingSelectionFontColor() ?? NSColor.black
|
|
|
|
|
|
+ if self.fontNameVC != nil {
|
|
|
+ if self.fontNameVC!.items.contains(fontName) {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ fontName = "Helvetica"
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
self.updateTextPresupposition(fontName: fontName, size: CGFloat(Float(sizeString)!), needChangeListView: false)
|
|
|
|
|
|
self.currentColor = color
|
|
@@ -563,8 +610,11 @@ extension KMEditPDFTextPropertyViewController {
|
|
|
func updateFontNameAndStyle(name: String, style: String, needChangeListView: Bool = true) {
|
|
|
if fontName != name || fontStyle != style {
|
|
|
let styleArray = self.fetchFontStyleWithFontName(fontName: name)
|
|
|
-
|
|
|
- let fontName = "\(name)-\(style)"
|
|
|
+ var styleString = self.checkFontStyle(style: style)
|
|
|
+ var fontName = "\(name)-\(styleString)"
|
|
|
+ if styleString.count == 0 {
|
|
|
+ fontName = name
|
|
|
+ }
|
|
|
|
|
|
if self.listView.editingAreas()?.count ?? 0 > 0 {
|
|
|
if needChangeListView {
|
|
@@ -636,14 +686,12 @@ extension KMEditPDFTextPropertyViewController {
|
|
|
//MARK: 刷新预览图片
|
|
|
private func updatePreviewImage() {
|
|
|
let alignment = self.alignment
|
|
|
- let fontSize = Float((self.fontSizeVC?.stringValue.replacingOccurrences(of: "pt", with: ""))!)
|
|
|
+ var fontSize = Float((self.fontSizeVC?.stringValue.replacingOccurrences(of: "pt", with: ""))!) ?? 1.0
|
|
|
let fontName = self.fontNameVC?.stringValue
|
|
|
- var fontStyle = self.fontStyleVC?.stringValue
|
|
|
+ var fontStyle = self.checkFontStyle(style: self.fontStyleVC?.stringValue ?? "")
|
|
|
let fontCurrentColor = self.currentColor
|
|
|
|
|
|
- if fontStyle == "Regular" || fontStyle == "Roman" {
|
|
|
- fontStyle = ""
|
|
|
- }
|
|
|
+ fontSize = max(fontSize, 8)
|
|
|
|
|
|
let editringareas = self.listView.editingAreas()
|
|
|
let count = self.listView.editingAreas()?.count
|
|
@@ -662,7 +710,7 @@ extension KMEditPDFTextPropertyViewController {
|
|
|
}
|
|
|
}
|
|
|
var attributeFontDescriptor = NSFontDescriptor.init(fontAttributes: [NSFontDescriptor.AttributeName.family : fontName,NSFontDescriptor.AttributeName.face: fontStyle])
|
|
|
- var font = NSFont.init(descriptor: attributeFontDescriptor, size: CGFloat(fontSize!))
|
|
|
+ var font = NSFont.init(descriptor: attributeFontDescriptor, size: CGFloat(fontSize))
|
|
|
var red : CGFloat = 0.0
|
|
|
var green : CGFloat = 0.0
|
|
|
var blue : CGFloat = 0.0
|
|
@@ -676,7 +724,7 @@ extension KMEditPDFTextPropertyViewController {
|
|
|
self.fontName = ""
|
|
|
self.fontStyle = ""
|
|
|
attributeFontDescriptor = NSFontDescriptor.init(fontAttributes: [NSFontDescriptor.AttributeName.family : fontName ?? "Helvetica",NSFontDescriptor.AttributeName.face : fontStyle ?? "Bold"])
|
|
|
- font = NSFont.init(descriptor: attributeFontDescriptor, size: CGFloat(fontSize!))
|
|
|
+ font = NSFont.init(descriptor: attributeFontDescriptor, size: CGFloat(fontSize))
|
|
|
}
|
|
|
|
|
|
let attributes = [NSAttributedString.Key.font:font,NSAttributedString.Key.foregroundColor:color,NSAttributedString.Key.paragraphStyle:style]
|
|
@@ -693,6 +741,14 @@ extension KMEditPDFTextPropertyViewController {
|
|
|
self.preImageView.image = image
|
|
|
}
|
|
|
|
|
|
+ func checkFontStyle(style: String) -> String {
|
|
|
+ var result = style
|
|
|
+ if style == "Regular" || style == "Roman" {
|
|
|
+ result = ""
|
|
|
+ }
|
|
|
+ return result
|
|
|
+ }
|
|
|
+
|
|
|
func supportFontSize() -> [String] {
|
|
|
return ["8pt", "9pt", "10pt", "11pt", "12pt", "14pt", "16pt", "18pt", "20pt", "22pt", "24pt", "26pt", "28pt", "36pt", "48pt", "72pt"]
|
|
|
}
|