标题: 【完成】60元求合并epub [打印本页]
作者: lxh623 时间: 2024-9-30 15:55 标题: 【完成】60元求合并epub
本帖最后由 lxh623 于 2024-10-5 09:50 编辑
文件链接在另一个求助帖。里面有一个需要合并。假设已经按那边的批处理修改完成。
系列文件名词大致是“XXX 第 1 卷 - ”\“XXX 第 002 卷 - ”\“XXX 第 003 卷 - ”等等。
第一,解包文件夹里面的css合并到第一个epub的css。删除重复?好像不会有重复。
第二,把第一个里面的xhtml后面加001,或者直接改001 。把后面文件夹的,依次复制到第一个那里。并且命名002,003等等。
第三,打开content.opf,在 </manifest>前面写入一行:- <item id="XXXXXXX.xhtml" href="Text/XXXXXXX.xhtml" media-type="application/xhtml+xml"/>
复制代码
后面也许就可以打包了。
也试了一下calibre-portable的插件epubmerge合并,结果已经上传。
谢谢!
作者: Five66 时间: 2024-9-30 19:36
简单弄了下,其他的全交给阅读器设置
http://ybshare.com/download/a8bqvjmxuz
作者: lxh623 时间: 2024-9-30 20:28
回复 2# Five66
下载不了。谢谢!
作者: Five66 时间: 2024-10-1 01:19
本帖最后由 Five66 于 2024-10-1 01:24 编辑
回复 3# lxh623
额,打开链接后,等10s左右,然后点击页面那个 Download 下载
下载开始后也可以直接取消,然后复制下载链接放到下载工具里下载
作者: lxh623 时间: 2024-10-1 14:04
回复 4# Five66
无论翻墙没有,都下载不了。
另外,我需要脚本、批处理之类的东西。或许可以写在这里。
合并的话,我自己也用插件合并了。
谢谢!
作者: Five66 时间: 2024-10-3 05:05
回复 5# lxh623
啊,原来是脚本,epub里的xhtml和css不止一个,统一形式的还好,不统一的很难判断,合并还是直接用插件吧
作者: lxh623 时间: 2024-10-4 14:52
终于用电信卡下载到。感觉不错,但是,怎么样批量操作。
有个问题是,microsoft edge打不开。
谢谢!
继续请教大家。
作者: lxh623 时间: 2024-10-4 15:10
本帖最后由 lxh623 于 2024-10-4 15:42 编辑
再来求助。
系列文件夹名字,大致是“XXX 第 1 卷 - ”\“XXX 第 002 卷 - ”\“XXX 第 003 卷 - ”等等。
我用sigil试了一下。
批处理的思路:
第一,把pages、style文件夹的文件分别复制到同名的第 1 卷文件夹的下面对应。
第二,打开content.opf,每加一个,在 </manifest>前面写入两行:- <item id="style377399.css" href="Styles/style377399.css" media-type="text/css"/>
- <item id="____002___ai_4753.xhtml" href="Text/____002___ai_4753.xhtml" media-type="application/xhtml+xml"/>
复制代码
第三,同样在content.opf,每加一个,在 </spine>前面写入一行:- <itemref idref="____002___ai_4753.xhtml"/>
复制代码
主要是有时候百个左右,这样的办法估计更加好。
谢谢!
作者: flashercs 时间: 2024-10-4 16:48
回复 8# lxh623
保存为 合并epub.bat,编码ANSI,此脚本放到解包后的文件夹内.- <#*,:
- @echo off
- cd /d "%~dp0"
- set "batchfile=%~f0"
- Powershell -ExecutionPolicy Bypass -C "Set-Location -LiteralPath ([Environment]::CurrentDirectory);. ([ScriptBlock]::Create([IO.File]::ReadAllText($env:batchfile,[Text.Encoding]::GetEncoding(0) )) )"
- pause
- exit /b
- #>
- # 合并epub xhtml css,此脚本放到 解包后 文件夹内
-
- Get-ChildItem -Path . | Where-Object { $_ -is [IO.DirectoryInfo] -and $_.FullName -ne $env:batchfile } | Group-Object -Property @{
- Expression = { $_.Name -replace '第\s+\d+\s+卷' }
- } | ForEach-Object {
- $di1 = $_.Group | Where-Object { $_.Name -match '第\s+(\d+)\s+卷' -and $Matches[1] -eq '1' } | Select-Object -First 1
- if ($null -eq $di1) { return }
- if($_.Group.Count -le 1){return}
- $opf = [IO.Path]::Combine($di1.FullName, 'OEBPS\content.opf')
- $xml = [IO.File]::ReadAllText($opf)
- if (-not $?) { return }
- # 把第一个里面的xhtml后面加001,或者直接改001 。把后面文件夹的,依次复制到第一个那里。并且命名002,003等等。
- # Get-ChildItem -LiteralPath ([IO.Path]::Combine($di1.FullName,'OEBPS\pages')) -Filter *.xhtml|Rename-Item -NewName '001.xhtml'
- $di1.Name | Out-Host
- $_.Group | Where-Object { $_ -ne $di1 } | ForEach-Object {
- # $null = $_.Name -match '第\s+(\d+)\s+卷'
- # $strctr = $Matches[1]
- Get-ChildItem -LiteralPath ([IO.Path]::Combine($_.FullName, 'OEBPS\pages')) -Filter *.xhtml | ForEach-Object {
- $fi2 = $_ | Copy-Item -Destination ([IO.Path]::Combine($di1.FullName, "OEBPS\pages")) -PassThru
- if ($fi2) {
- $xml = $xml.Replace("</manifest>", @"
- <item id="$($fi2.Name)" href="Text/$($fi2.Name)" media-type="application/xhtml+xml"/></manifest>
- "@).Replace("</spine>", @"
- <itemref idref="$($fi2.Name)"/></spine>
- "@)
- }
- }
- Get-ChildItem -LiteralPath ([IO.Path]::Combine($_.FullName, 'OEBPS\style')) -Filter *.css | ForEach-Object {
- $fi2 = $_ | Copy-Item -Destination ([IO.Path]::Combine($di1.FullName, "OEBPS\style")) -PassThru
- if ($fi2) {
- $xml = $xml.Replace("</manifest>", @"
- <item id="$($fi2.Name)" href="Styles/$($fi2.Name)" media-type="text/css"/></manifest>
- "@)
- }
-
- }
- }
- [IO.File]::WriteAllText($opf, $xml)
- }
复制代码
作者: lxh623 时间: 2024-10-4 18:53
回复 9# flashercs
谢谢!
还是不能顺利合并。
我把手动合并的文件上传,麻烦看一看。这个文件可以解包打包。
除了少几行,是不是page需要修改?
有几个不一样的地方。但是,我把手动的两个文件content、toc替换,以及文件移动到一样的文件夹,也不能打包。- <itemref idref="toc"/>
- <meta content="0.9.10" name="Sigil version" />
- <meta property="dcterms:modified">2024-09-29T07:04:17Z</meta>
- <meta property="dcterms:modified">2024-10-04T18:04:46Z</meta>
- <package version="3.0" unique-identifier="db-id" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://www.idpf.org/2007/opf">
- <package version="3.0" unique-identifier="db-id" xmlns="http://www.idpf.org/2007/opf" xmlns:dc="http://purl.org/dc/elements/1.1/">
复制代码
链接: https://pan.baidu.com/s/1cVsri59YOkHLJSBcN8dSRw?pwd=usp7 提取码: usp7
作者: flashercs 时间: 2024-10-5 08:58
回复 10# lxh623
通过百度网盘分享的文件:cbeta白话文制作
链接:https://pan.baidu.com/s/10YwAhgGyHO57CwpARcb1gA
提取码:i5dx
作者: lxh623 时间: 2024-10-5 09:15
本帖最后由 lxh623 于 2024-10-5 09:17 编辑
回复 11# flashercs
谢谢!
下载了合并epub。但是,出来解包后\解包后,路径没有找到。
另外,我用ebook-edit-portable手动合并了一个(可以解包打包),上传了。(过程中,加入别的文件,xhtml一个一个指定css。)
作者: lxh623 时间: 2024-10-5 09:50
谢谢!请查收。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |