gpt4 book ai didi

c# - 图像编码为 ccitt 的 iOS pdf

转载 作者:行者123 更新时间:2023-11-28 07:49:17 25 4
gpt4 key购买 nike

有没有人使用过将图像编码为 ccitt 的 PDF。我使用 Xamarin,几乎所有的 pdf 似乎都可以工作。但是这种编码似乎很困难。该应用程序适用于 iOS。页面大小正确但完全空白。

var pageRect = _page.GetBoxRect(CGPDFBox.Media);
pageRect.Size = new CGSize(pageRect.Size.Width, pageRect.Size.Height);
//pageRect.Origin = CGPointZero;

UIGraphics.BeginImageContext(pageRect.Size);
CGContext context = UIGraphics.GetCurrentContext();

//White BG
context.SetFillColor(1.0f, 1.0f, 1.0f, 1.0f);
context.FillRect(pageRect);
context.SaveState();

// Next 3 lines makes the rotations so that the page look in the right direction
context.TranslateCTM(0.0f, pageRect.Size.Height);
context.ScaleCTM(1.0f, -1.0f);
CGAffineTransform transform = _page.GetDrawingTransform(CGPDFBox.Media, pageRect, 0, true);
context.ConcatCTM(transform);

context.DrawPDFPage(_page);
context.RestoreState();

UIImage img = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();

return img;

_page 是 CGPDFPage 对象。

或者有人有从 PDF 文件中获取图像的片段吗?DrawPDFPage 是我认为无法处理此 pdf 的问题。snippets in swift 或者 c 都没有问题

更新我在我的应用程序中默认使用 CATiledLayer。这将在部分(平铺)中呈现 pdf,因此大 pdf 将显示部分而不是等待很长时间。我发现设置编码后,上面的代码将起作用,因为它首先呈现完整的 pdf,然后显示在屏幕上。

CATiledLayer在那种情况下无法正常工作并显示空/空白页。我现在的搜索将是寻找一种方式,CGPDFDocumentCGPDFPage将返回我的元数据,以便我能够查看编码。有人已经体验过吗?

最佳答案

经过长时间的调试,我找到了解决方案。CTM 已经在 ConcatCTM 中完成到底是什么我不知道,这是我的结果:

// fill with white background
context.SetFillColor(1f, 1f, 1f, 1f);
context.FillRect(Bounds);
context.SaveState();

var pageRect = _page.GetBoxRect(CGPDFBox.Media);
context.TranslateCTM(0, Bounds.Height);
context.ScaleCTM(1, -1);

//get the affine transform that defines where the PDF is drawn
var affineTransform = _page.GetDrawingTransform(CGPDFBox.Media, layer.Bounds, 0, true);
//concatenate the pdf transform with the CTM for display in the view
context.ConcatCTM(affineTransform);

context.DrawPDFPage(_page);
context.RestoreState();

关于c# - 图像编码为 ccitt 的 iOS pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50114500/

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