小编Bob*_*sky的帖子

创建的pdf错误消息(...文件已损坏且无法修复)

我创建了一个pdf文件,并通过电子邮件发送.电子邮件发送正常,但要打开PDF,我不断收到以下错误:"打开此文档时出错.文件已损坏,无法修复".这是代码.我不确定我做错了什么......

       Document myDoc = new Document(PageSize.LETTER, 20f, 20f, 18f, 20f);

        using (MemoryStream ms = new MemoryStream())
        {
            PdfWriter pWriter = PdfWriter.GetInstance(myDoc, ms);

            myDoc.Open();

            PdfPTable table = new PdfPTable(2);
            table.WidthPercentage = 100;
            table.SpacingAfter = 10;

            float[] widths = new float[] { 1f, 2f };
            table.SetWidths(widths);
            table.HorizontalAlignment = 0;
            table.SpacingBefore = 20f;
            table.SpacingAfter = 30f;

            Font regularFont = new Font(iTextSharp.text.Font.FontFamily.HELVETICA, 12);
            Font boldFont = new Font(iTextSharp.text.Font.FontFamily.HELVETICA, 14, 1);
            Font headerFont = new Font(iTextSharp.text.Font.FontFamily.HELVETICA, 18, 1);

            PdfPCell cell = new PdfPCell();
            cell.BorderWidth = …
Run Code Online (Sandbox Code Playgroud)

.net c# pdf asp.net itextsharp

1
推荐指数
1
解决办法
2741
查看次数

2-dim结构表

在C中,我可以在方法中使用以下形式.

void foo() {
   struct {
      int val;
      int color;
      string desc;
   } ItemMap[] = {
      { 1, 2, "test"},
      { 2, 3, "test"},
   }

   // process tasks according to ItemMap.
}
Run Code Online (Sandbox Code Playgroud)

如果我想在C#下做同样的事情,如何实现呢?

c c# visual-studio-2010

1
推荐指数
1
解决办法
97
查看次数

从不同的线程访问UIView的简单快捷的方法

我有这样的界面:

@interface AView : UIScrollView
{
    UIView* m_view1;
    UIView* m_view2;
    ...
}

-(void) method1;
-(void) method2;
...
@end
Run Code Online (Sandbox Code Playgroud)

我需要从界面的方法访问视图.我需要创建,发布,重新创建它们以及设置属性.

问题是,接口的某些方法在不同的线程中运行.由于这些方法访问相同的视图,我遇到的问题就像一个线程在另一个线程试图设置正在重新创建的视图的某些属性时尝试重新创建视图.

我应该如何同步对视图的访问?

iphone multithreading ipad ios

1
推荐指数
1
解决办法
729
查看次数

为什么string.Format产生这样的结果?

我的代码中有如下行:

string buffer = string.Format(CultureInfo.InvariantCulture, "{0:N4}", 1008.0);
Run Code Online (Sandbox Code Playgroud)

执行此行后为什么buffer包含1,008.0(注释逗号)?

是的,我猜它是由我的区域设置引起的.问题是为什么它们会影响这种情况的结果?

编辑:

好的,我明白这完全是我的错.好像我应该使用F格式说明符.

c# string

1
推荐指数
1
解决办法
145
查看次数

如何找出Cocos2d中的内存消耗量

我正在使用Cocos2D for iOS开发游戏.

有一些场景,如菜单等和主要的游戏场景.在主场景中只有三个动态对象.这些物体定期相互射击(直到这些物体被杀死或移出场景).

现在的问题是:游戏不断地耗尽记忆力.我想知道我做错了什么.

没有明显的泄漏,如过度保留的物体.场景被dealloc编辑,对象从父母移除并清理,动画停止等.

无论如何,记忆继续在某个地方.我正在使用以下代码

+ (void) reportMemory
{
    struct task_basic_info info;
    mach_msg_type_number_t size = sizeof(info);
    kern_return_t kerr = task_info(mach_task_self(),
                                   TASK_BASIC_INFO,
                                   (task_info_t)&info,
                                   &size);
    if (kerr == KERN_SUCCESS)
        NSLog(@"Memory in use (in Kbytes): %f", info.resident_size / 1024.0);
    else
        NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
}
Run Code Online (Sandbox Code Playgroud)

找出每次开始场景时消耗的内存量.报告的数字总是比前一个更大.

我试图使用分配探查器,但说实话,我无法弄清楚任何有用的东西.我看到总生存字节基本相同,但是进程不断分配和释放一些东西.

你建议我看一下什么?基本上,我正在寻求如何在我的情况下调试内存操作的建议.

编辑(有什么帮助我):

事实证明我打开了NSZombieEnabled.基本上,它是恒定内存消耗增加的主要因素.一些有用的信息和提示可以在@coneybeare答案中找到

第二个最有用的是使用@Jack建议的仪器(Leaks and Allocations).它帮助我找到了几个微妙的泄漏.

profiling memory-leaks cocos2d-iphone ios xcode4.2

1
推荐指数
1
解决办法
2453
查看次数

Android当前日期和时间

我需要格式化日期和时间格林威治标准时间2012年11月15日18:55.

时间应该是GMT和24小时格式.我尝试使用以下代码,但它以12小时格式给出时间.有什么办法吗?

DateFormat currentDateTimeString = DateFormat.getDateTimeInstance();
currentDateTimeString.setTimeZone(TimeZone.getTimeZone("gmt"));
gmtTime = currentDateTimeString.format(new Date());
Run Code Online (Sandbox Code Playgroud)

datetime android

1
推荐指数
1
解决办法
2万
查看次数

PhoneGap或Appcelerator实施

这更像是一个建议问题而不是一个具体问题.我正在开发移动设备的应用程序.它的基本功能是打开PDF文件,视频文件,以及打开某些网页.这最好在PhoneGap或Appcelerator中实现吗?

mobile titanium appcelerator

1
推荐指数
1
解决办法
3124
查看次数

使用谷歌应用程序脚本将谷歌驱动器中的 pdf 附加到电子邮件

我正在使用自定义创建的谷歌应用程序脚本来发送一些电子邮件。我的谷歌驱动器中有一个 PDF,我试图将其附加到电子邮件中,但它不起作用。我不断收到错误“文档丢失(可能已被删除?)”

这是我的完整代码...

    function sendDetails(e) {
var itemURL = 'https://docs.google.com/file/d/0Bw7JWLKeRBKASUFldGM1RTRIaFE/edit';
var docName = DocumentApp.openByUrl(itemURL).getName();
}
Run Code Online (Sandbox Code Playgroud)

请注意,上述 PDF 是任何人都可以访问的可公开访问的 PDF 文件。我知道它存在,但它不允许我访问它。我要做的就是获取文件并将其附加到电子邮件中。我的代码显然比 about 更重要,但我只是为了缩小错误而进行了精简,但没有这样的运气。任何帮助将不胜感激。

email-attachments google-apps-script

1
推荐指数
1
解决办法
2600
查看次数

如何更改文本旋转轴

CGContextShowText用来显示文本,但是当使用它旋转时CGAffineTransformation,旋转轴位于左侧,而不是绘制文本的中心,我使用的代码是:

CGContextSaveGState(context);

CGContextSelectFont(context, "Helvetica", 20, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, 1);
CGContextSetRGBFillColor (context, 0, 0, 0, 1);
CGAffineTransform xform = CGAffineTransformMake(
    sin(DegreesToRadians(angle)), cos(DegreesToRadians(angle)),
    cos(DegreesToRadians(angle)), -sin(DegreesToRadians(angle)),
    0,  0);

CGContextSetTextDrawingMode (context, kCGTextFill); 

CGPoint degreeDisplayPoint = CGPointMake(100,100);
CGContextShowTextAtPoint(context, degreeDisplayPoint.x, degreeDisplayPoint.y, [angleStringWithDegree cStringUsingEncoding:NSMacOSRomanStringEncoding], [angleStringWithDegree length]); 

CGContextRestoreGState(context);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

iphone cocoa-touch core-graphics

0
推荐指数
1
解决办法
833
查看次数

在iPad 3上CGContextDrawLayerAtPoint很慢

UIView我的应用程序中有自定义视图(继承自).自定义视图覆盖

- (void) drawRect:(CGRect) rect

问题是:drawRect:在iPad 3上的执行时间比在iPad 2上执行的时间长许多倍(在iPad 3上大约0.1秒,在iPad 2上大约0.003秒).它慢了约30倍.

基本上,我正在使用一些预先创建的图层并在其中绘制它们drawRect:.最后一个电话

CGContextDrawLayerAtPoint(context, CGPointZero, m_currentLayer);
Run Code Online (Sandbox Code Playgroud)

占用大部分时间(约占总时间的95%drawRect:)

什么可能会使事情变得如此缓慢,我该如何解决问题呢?

更新:

没有直接涉及的线程.我确实setNeedsDisplay:在一个线程中调用并drawRect:从另一个线程调用,但就是这样.锁也是如此(没有使用锁).

视图会重新绘制以响应触摸(它是着色书应用程序).在iPad 2上,我可以在触摸和更新屏幕之间获得合理的延迟.我想在iPad 3上实现同样的目标.

core-graphics ipad ios ipad-3

0
推荐指数
1
解决办法
1817
查看次数