أكثر

الطباعة إلى PDF باستخدام Vector Shapefiles والنص وما إلى ذلك باستخدام ArcPy؟


لدي برنامج نصي صغير بيثون يقوم بتصدير مجموعة من الصفحات التي تعتمد على البيانات إلى PDF. يعمل هذا بشكل جيد ، بما في ذلك إلحاق كل صفحة بملف pdf "الكل".

مشكلتي هي أنه ينشئ نقطية لكل طبقة في الخريطة.

يمكنني استخدام شيء مثل CutePDF للطباعة على خريطة متجهية ، وهذا يعمل بشكل رائع. أحجام الملفات أصغر بكثير ، ولكن هذا لا يتم بسهولة في عملية مجمعة. يتطلب منك اختيار اسم الملف لكل صفحة يدويًا.

هل يمكنك جعل طريقة تصدير ArcPy إلى pdf تستخدم تنسيقًا متجهًا لمحتوى الخريطة. إذا لم يكن الأمر كذلك ، فهل هناك طريقة لأتمتة الطباعة إلى ملف باستخدام برنامج cutePDF أو أي شيء آخر؟


هذا قد يكون أو لا يكون له علاقة بـ Arcpy. في سلسلة ArcMap 9 ، عند تصدير الخرائط التي تتضمن طبقات نقطية أو حتى أنماط نقطية ، سيتم تحويل المتجهات أيضًا إلى نقطية. إذا كنت تستخدم بعض موارد الخرائط عبر الإنترنت ، فقد لا يزال هذا هو الحال. ليس لدي تثبيت هنا للتحقق من ذلك ، ولكن معرفة ما إذا كان إيقاف تشغيل أي طبقات نقطية يحدث أي فرق.


لقد استخدمت كود python التالي لتحديد طبقات التنقيط. أدت إزالة هذه (كان يجب التخلي عن بعض الشفافية) إلى تقليل حجم الملف بنسبة 50٪.

استيراد عيب arcpy DetectRasterization (): mxd = arcpy.mapping.MapDocument ("CURRENT") df_list = arcpy.mapping.ListDataFrames (mxd) foundRasterization = False noneFoundMsg = "لم يتم اكتشاف طبقات تنقيط." لـ df في df_list: lyr_list = arcpy.mapping.ListLayers (mxd، data_frame = df) لـ lyr في lyr_list: if lyr.isRasterizingLayer أو lyr.supports ("BRIGHTNESS"): foundRasterization = True if lyr.isGroupLayer and lyr.transparency> 0: طباعة "في إطار البيانات '" + df.name + "' ، طبقة المجموعة '" +  lyr.longName + "' هي طبقة تنقيط:  r" ، طباعة " t الرؤية" + str (lyr. مرئي) + ".  n" +  " t الشفافية هي" + str (lyr.transparency) + "بالمائة.  n" elif not lyr.isGroupLayer: print "In data frame '" + df.name + "'، الطبقة '"+  lyr.longName +"' هي طبقة تنقيط:  r "، إذا كانت lyr.transparency> 0: طباعة"  t الرؤية هي "+ str (lyr.visible) +".  n "+ "  t الشفافية هي "+ str (lyr.transparency) +" بالمائة.  n "else: print"  t الرؤية هي "+ str (lyr.visible) +".  n "+ "  t الشفافية هي 0 بالمائة ، لكن قد تكون الطبقة  n "+ "  طبقة traster أو تحتوي على رموز تنقيط مثل  n "+ "  tas رموز الصورة النقطية.  n "del lyr del lyr_list del df إذا لم يتم العثور عليها التنقيط: طباعة noneFoundMsg del df_list del mxd DetectRasterization ()


شاهد الفيديو: تحويل رسمة اوتوكاد الى PDF - طباعة الاوتوكاد الى PDF (شهر اكتوبر 2021).