美丽心灵公益论坛

查看: 3317|回复: 3

Scribus研究笔记

[复制链接]
累计签到:57 天
连续签到:1 天

981

主题

461

回帖

8037

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8037
发表于 2022-4-16 01:40:56| 字数 85 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 willsonlincake 于 2022-4-16 01:46 编辑

Scribus研究成果集中发布区
主要发布Scribus第三方函数库研发进展
这个框架会发布到PyPI

累计签到:57 天
连续签到:1 天

981

主题

461

回帖

8037

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8037
 楼主| 发表于 2022-4-16 01:43:38| 字数 332 | 显示全部楼层
Scribus文档所有文本转曲(原创代码)
  1. import scribus
  2. pc = scribus.pageCount()
  3. for i in range(0,pc):
  4.   scribus.traceText(scribus.getAllObjects(scribus.ITEMTYPE_TEXTFRAME,i)[0])
复制代码
也可以用:
  1. import scribus
  2. pc = scribus.pageCount()
  3. [scribus.traceText(scribus.getAllObjects(scribus.ITEMTYPE_TEXTFRAME,i)[0]) for i in range(0,pc)]
复制代码
我的目的就是要做一个Scribus第三方函数库,把一些Scribus自带的不具备的函数实现



累计签到:57 天
连续签到:1 天

981

主题

461

回帖

8037

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8037
 楼主| 发表于 2022-4-16 03:14:17| 字数 315 | 显示全部楼层
Scribus复制并移动距离
  1. import scribus
  2. def mulDup(object,copies,x_distance,y_distance):
  3.     w,h = scribus.getSize(object)

  4.     for i in range(0,copies):
  5.        x_dist = 0 if x_distance ==0 else x_distance + w
  6.        y_dist = 0 if y_distance ==0 else y_distance + h
  7.        copy = scribus.duplicateObject(object)
  8.        scribus.moveObject(x_dist,(i+1)*y_dist,copy)
  9.    

  10. mulDup("Pol",3,0,20)
复制代码




累计签到:57 天
连续签到:1 天

981

主题

461

回帖

8037

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8037
 楼主| 发表于 2022-5-1 09:37:20| 字数 110 | 显示全部楼层
  1. import os
  2. import scribus
  3. filename = scribus.getDocName()
  4. os.startfile(os.path.dirname(filename))
复制代码

Scribus打开文档所在的文件夹
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|免责及版权声明|关于|美丽心灵公益论坛

GMT+8, 2025-10-25 11:51 , Processed in 0.075964 second(s), 29 queries .

Powered by Discuz! X3.4

!copyright!

快速回复 返回顶部 返回列表