我正在使用pdfjoin
合并两个pdf。第一个pdf有一个“点击这里”链接进入一个网页。当我打开第一个pdf时,我可以点击自动打开我的默认浏览器并显示网页的链接。
但是,当我使用pdfjoin
合并两个pdf时,“Click here”链接没有任何效果,它只是在最终的pdf中表现为纯文本。
如何使用 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger rowsCount = [self tableView:tableView numberOfRowsInSection:indexPath.section];
if (1 == rowsCount) {
cell.contentView.layer.cornerRadius = 8.f;
cell.contentView.layer.masksToBounds = YES;
} else {
if (0 == indexPath.row) {
CGRect cellRect = cell.contentView.bounds;
CGMutablePathRef firstRowPath = CGPathCreateMutable();
CGPathMoveToPoint(firstRowPath, NULL, CGRectGetMinX(cellRect), CGRectGetMaxY(cellRect));
CGPathAddLineToPoint(firstRowPath, NULL, CGRectGetMinX(cellRect), 8.f);
CGPathAddArcToPoint(firstRowPath, NULL, CGRectGetMinX(cellRect), CGRectGetMinY(cellRect), 8.f, CGRectGetMinY(cellRect), 8.f);
CGPathAddLineToPoint(firstRowPath, NULL, CGRectGetMaxX(cellRect) - 8.f, 0.f);
CGPathAddArcToPoint(firstRowPath, NULL, CGRectGetMaxX(cellRect), CGRectGetMinY(cellRect), CGRectGetMaxX(cellRect), 8.f, 8.f);
CGPathAddLineToPoint(firstRowPath, NULL, CGRectGetMaxX(cellRect), CGRectGetMaxY(cellRect));
CGPathCloseSubpath(firstRowPath);
CAShapeLayer *newSharpLayer = [[CAShapeLayer alloc] init];
newSharpLayer.path = firstRowPath;
newSharpLayer.fillColor = [[UIColor whiteColor] colorWithAlphaComponent:1.f].CGColor;
CFRelease(firstRowPath);
cell.contentView.layer.mask = newSharpLayer;
} else if (indexPath.row == (rowsCount - 1)) {
CGRect cellRect = cell.contentView.bounds;
CGMutablePathRef lastRowPath = CGPathCreateMutable();
CGPathMoveToPoint(lastRowPath, NULL, CGRectGetMinX(cellRect), CGRectGetMinY(cellRect));
CGPathAddLineToPoint(lastRowPath, NULL, CGRectGetMaxX(cellRect), CGRectGetMinY(cellRect));
CGPathAddLineToPoint(lastRowPath, NULL, CGRectGetMaxX(cellRect), CGRectGetMaxY(cellRect) - 8.f);
CGPathAddArcToPoint(lastRowPath, NULL, CGRectGetMaxX(cellRect), CGRectGetMaxY(cellRect), CGRectGetMaxX(cellRect)- 8.f, CGRectGetMaxY(cellRect), 8.f);
CGPathAddLineToPoint(lastRowPath, NULL, 8.f, CGRectGetMaxY(cellRect));
CGPathAddArcToPoint(lastRowPath, NULL, CGRectGetMinX(cellRect), CGRectGetMaxY(cellRect), CGRectGetMinX(cellRect), CGRectGetMaxY(cellRect) - 8.f, 8.f);
CGPathCloseSubpath(lastRowPath);
CAShapeLayer *newSharpLayer = [[CAShapeLayer alloc] init];
newSharpLayer.path = lastRowPath;
newSharpLayer.fillColor = [[UIColor whiteColor] colorWithAlphaComponent:1.f].CGColor;
CFRelease(lastRowPath);
cell.contentView.layer.mask = newSharpLayer;
}
}
}
保持网址的效果?
我正在使用OS X Yosemite和pdfjoin版本2.08。
答案 0 :(得分:0)
查看适用于GNU + Linux,macOS和Windows的PDFtk。根据{{3}},只有PDFtk维护超链接,我可以在尝试使用pdfjam / pdfjoin时确认调查结果。