gpt4 book ai didi

objective-c - 从 PDF 流上的 TJ 回调生成的 CGPDFArray 中复制 CGPDFStrings

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:57 24 4
gpt4 key购买 nike

好的,所以我正在解析 PDF 内容流,发现 TJ 回调生成一个字符串数组,所以我捕获它并开始遍历它以获取字符串值,如下所示:

static void Op_TJ(CGPDFScannerRef s, void *info)
{
CGPDFArrayRef array;
bool success = CGPDFScannerPopArray(s, &array);
if(success) {
NSMutableString *actualString = [[NSMutableString alloc] init];
NSLog(@"array count:%zu",CGPDFArrayGetCount(array));
for(size_t i = 0; i < CGPDFArrayGetCount(array); i++) {
CGPDFStringRef string;
CGPDFArrayGetString(array, i, &string);
NSString *stringData = (NSString *)CGPDFStringCopyTextString(string);
[actualString appendString:stringData];
NSLog(@"string Data:%@",stringData);
}
NSLog(@"actual string:%@",actualString);
}
}

唯一的问题是,这是我的输出:

2013-01-11 12:39:49.895 WinPCS Mobile[1617:c07] began text object
2013-01-11 12:39:49.895 WinPCS Mobile[1617:c07] array count:7
2013-01-11 12:39:49.896 WinPCS Mobile[1617:c07] string Data:In
2013-01-11 12:39:49.896 WinPCS Mobile[1617:c07] string Data:In
2013-01-11 12:39:49.896 WinPCS Mobile[1617:c07] string Data:it
2013-01-11 12:39:49.896 WinPCS Mobile[1617:c07] string Data:it
2013-01-11 12:39:49.897 WinPCS Mobile[1617:c07] string Data:ia
2013-01-11 12:39:49.897 WinPCS Mobile[1617:c07] string Data:ia
2013-01-11 12:39:49.897 WinPCS Mobile[1617:c07] string Data:ls
2013-01-11 12:39:49.898 WinPCS Mobile[1617:c07] actual string:InInititiaials
2013-01-11 12:39:49.898 WinPCS Mobile[1617:c07] ended text object

如果 i 等于一个可被 2 整除的数字,我已经求助于退出 for 循环,但这非常草率并且看起来效率低下,所以我想知道是否有人有解决方案或任何想法可能是什么问题...我尝试了多个 PDF 文件,结果相同。

我的简单快速修复是将 for 循环从这里更改为:

for(int i = 0; i < CGPDFArrayGetCount(array); i++)

为此:

for(int i = 0; i < CGPDFArrayGetCount(array); i+=2)

最佳答案

CGPDFArrayGetString 被定义为返回一个 BOOL,如果在指定的索引处有一个 PDF 字符串则返回 true,否则返回 false。

你没有检查返回值!

我的猜测是每两次你没有 PDF 字符串(并且函数返回 false)。

在这些情况下,函数不会覆盖与上一个循环保持相同的 string 变量。

只是一个猜测..

关于objective-c - 从 PDF 流上的 TJ 回调生成的 CGPDFArray 中复制 CGPDFStrings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com