Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id EDBC8200D63 for ; Thu, 21 Dec 2017 10:55:49 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id EC92F160C2B; Thu, 21 Dec 2017 09:55:49 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id BC053160C1A for ; Thu, 21 Dec 2017 10:55:48 +0100 (CET) Received: (qmail 45357 invoked by uid 500); 21 Dec 2017 09:55:47 -0000 Mailing-List: contact users-help@pdfbox.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@pdfbox.apache.org Delivered-To: mailing list users@pdfbox.apache.org Received: (qmail 45346 invoked by uid 99); 21 Dec 2017 09:55:47 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Dec 2017 09:55:47 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id DDBD0C476F for ; Thu, 21 Dec 2017 09:55:46 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.99 X-Spam-Level: ** X-Spam-Status: No, score=2.99 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, T_RP_MATCHES_RCVD=-0.01, WEIRD_PORT=0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id aOcHQDpHP0Bf for ; Thu, 21 Dec 2017 09:55:45 +0000 (UTC) Received: from mailout06.t-online.de (mailout06.t-online.de [194.25.134.19]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 790455F470 for ; Thu, 21 Dec 2017 09:55:44 +0000 (UTC) Received: from fwd13.aul.t-online.de (fwd13.aul.t-online.de [172.20.27.62]) by mailout06.t-online.de (Postfix) with SMTP id 473BC41E4F3B for ; Thu, 21 Dec 2017 10:55:44 +0100 (CET) Received: from [192.168.2.105] (rxrF96ZZ8hgGmge-1hyHagDmOb3xsIhFKJOhrC-ClzDnFa86I6mAkjOsJn8qViJgIT@[217.231.139.109]) by fwd13.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1eRxZh-1KgUmO0; Thu, 21 Dec 2017 10:55:37 +0100 Subject: Re: 1 text line becomes 2 line after extraction To: users@pdfbox.apache.org References: From: Tilman Hausherr Message-ID: <301217ce-4036-218d-cdba-90b8b751c573@t-online.de> Date: Thu, 21 Dec 2017 10:58:27 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------9E9620755E0FBAEEC8706711" Content-Language: en-US X-ID: rxrF96ZZ8hgGmge-1hyHagDmOb3xsIhFKJOhrC-ClzDnFa86I6mAkjOsJn8qViJgIT X-TOI-MSGID: 946975d5-7aab-4ab2-b30e-68073310ca28 archived-at: Thu, 21 Dec 2017 09:55:50 -0000 --------------9E9620755E0FBAEEC8706711 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi, Yes, that happens at page 19. This is because the baseline of the superscript is larger/equal to the top of the heuristic height, so PDFBox will assume that these are different lines. That height is never the correct height, it is usually the height of a small character (e.g. a, e, u) in "western" text. So in other text this may not work very well. See this screenshot: There is an alternative code in https://issues.apache.org/jira/browse/PDFBOX-3970 which uses actual glyph heights and that one works for p19 of your file. To test that, get LegacyPDFStreamEngine.java and replace that one in the build. (Yes, you'll have to build from source) It is the call to getActualGlyphBoundingBox() and the following line. However, build tests have shown problems with other files so I have done nothing further. Tilman result: 1.血液检查 呼吸系统感染时,中性粒细胞增加,有时还伴有中毒颗粒;嗜酸性粒细 胞增加提示过敏性因素、曲霉或寄生虫感染;其他血清学抗体试验,如荧光抗体、对流免疫 电泳、酶联免疫吸附测定等,对于病毒、支原体和细菌感染的诊断均有一定价值。 2.抗原皮肤试验 哮喘的变应原皮肤试验阳性有助于变应体质的确定和相应抗原的脱 敏治疗。对结核或真菌呈阳性的皮肤反应仅说明已受感染,并不能肯定患病。 3.痰液检查 痰涂片在低倍镜视野里上皮细胞<1O 个,白细胞>25 个为相对污染少的 痰标本,定量培养菌量≥1O7cfu/ml 可判定为致病菌。若经环甲膜穿刺气管吸引、或经纤维 支气管镜(简称纤支镜)防污染双套管毛刷采样,可防止咽喉部寄殖菌的污染,此时培养菌 量≥103cfu/ml 即有诊断意义。反复作痰脱落细胞检查,有助于肺癌的诊断。 4.胸腔积液(胸液)检查和胸膜活检 常规胸液检查可明确渗出性或是漏出性胸液。 检查胸液的溶菌酶、腺苷脱氨酶、癌胚抗原及进行染色体分析,有助于结核性与恶性胸液的 鉴别。脱落细胞和胸膜病理活检对明确肿瘤或结核有诊断价值。 5.影像学检查 胸部 X 线透视配合正侧位胸片,可发现被心、纵隔等掩盖的病变,并 能观察膈、心血管活动情况。高电压体层摄片和 CT 能进一步明确病变部位、性质以及有关 气管、支气管通畅程度。磁共振显像(MRI)对纵隔疾病和肺血栓栓塞症有较大帮助。肺血 管造影用于肺血栓栓塞症和各种先天性或获得性血管病变的诊断;支气管动脉造影和栓塞术 对咯血有较好的诊治价值。 6.支气管镜和胸腔镜 硬质支气管镜检查已被纤维支气管镜(纤支镜)所替代,前者 仅必要时才用于作气管内肿瘤或异物的摘除手术。纤支镜能深人亚段支气管,直接窥视黏膜 水肿、充血、溃疡、肉芽肿、新生物、异物等,作黏膜的刷检或钳检,进行组织学检查;并 可经纤支镜作支气管肺泡灌洗。灌洗液的微生物、细胞学、免疫学、生物化学等检查,有助 于明确病原和病理诊断;还可通过它取出异物、诊断咯血,经高频电刀、激光、微波及药物 注射治疗良、恶性肿瘤。借助纤支镜的引导还可作气管插管。胸腔镜已广泛应用于胸膜活检、 肺活检。 7.放射性核素扫描 应用 133氙或 99m锝-二乙三胺五乙酸(99mTc-DTPA)雾化吸人。99m锝 大颗粒人血清聚合清蛋白(99mTc-MAA)静脉注射对肺区域性通气/灌注情况、肺血栓栓塞症 和血流缺损,以及占位病变的诊断有帮助。67镓对间质性肺纤维化的肺泡炎、结节病和肺癌 Am 21.12.2017 um 02:26 schrieb Dan Liu: > Hi, all: > I'm using pdfbox 2.0.8, the test pdf file can download from http://proj.gz-yibo.com:2880/nk7.pdf > > eg: > a text line in page 19: > 7.放射性核素扫描应用133 氙或99m 锝-二乙三胺五乙酸(99mTc-DTPA)雾化吸人。99m 锝 > becomes: > 133 99m 99m 99m > 7.放射性核素扫描应用 氙或 锝-二乙三胺五乙酸(Tc-DTPA)雾化吸人。 锝 > > > ------------------ > With best regards > > > Daniel > > > ------------------ Original ------------------ > From: "139250065";<139250065@qq.com>; > Date: Wed, Dec 20, 2017 10:39 AM > To: "users"; > > Subject: 1 text line becomes 2 line after extraction > > > > such as: > 1 line: 肺具有广泛的呼吸面积,成人的总呼吸面积约有100m2(3 亿-7.5 亿肺泡),在呼吸过程中, > ‍ > > ‍ > > becomes 2 lines after extraction: > 2 > 肺具有广泛的呼吸面积,成人的总呼吸面积约有100m(3 亿-7.5 亿肺泡),在呼吸过程中, > > since y coordinate of char '2' is smaller than other chars. > > > ------------------ > > > with best regards > > > daniel --------------9E9620755E0FBAEEC8706711 Content-Type: multipart/related; boundary="------------8F93F6F4A784BF9D3B1D3436" --------------8F93F6F4A784BF9D3B1D3436 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
Hi,

Yes, that happens at page 19. This is because the baseline of the superscript is larger/equal to the top of the heuristic height, so PDFBox will assume that these are different lines. That height is never the correct height, it is usually the height of a small character (e.g. a, e, u) in "western" text. So in other text this may not work very well. See this screenshot:

There is an alternative code in
https://issues.apache.org/jira/browse/PDFBOX-3970
which uses actual glyph heights and that one works for p19 of your file.

To test that, get LegacyPDFStreamEngine.java and replace that one in the build. (Yes, you'll have to build from source) It is the call to getActualGlyphBoundingBox() and the following line.

However, build tests have shown problems with other files so I have done nothing further.

Tilman

result:

1.血液检查 呼吸系统感染时,中性粒细胞增加,有时还伴有中毒颗粒;嗜酸性粒细
胞增加提示过敏性因素、曲霉或寄生虫感染;其他血清学抗体试验,如荧光抗体、对流免疫
电泳、酶联免疫吸附测定等,对于病毒、支原体和细菌感染的诊断均有一定价值。
2.抗原皮肤试验 哮喘的变应原皮肤试验阳性有助于变应体质的确定和相应抗原的脱
敏治疗。对结核或真菌呈阳性的皮肤反应仅说明已受感染,并不能肯定患病。
3.痰液检查 痰涂片在低倍镜视野里上皮细胞<1O 个,白细胞>25 个为相对污染少的
痰标本,定量培养菌量≥1O7cfu/ml 可判定为致病菌。若经环甲膜穿刺气管吸引、或经纤维
支气管镜(简称纤支镜)防污染双套管毛刷采样,可防止咽喉部寄殖菌的污染,此时培养菌
量≥103cfu/ml 即有诊断意义。反复作痰脱落细胞检查,有助于肺癌的诊断。
4.胸腔积液(胸液)检查和胸膜活检 常规胸液检查可明确渗出性或是漏出性胸液。
检查胸液的溶菌酶、腺苷脱氨酶、癌胚抗原及进行染色体分析,有助于结核性与恶性胸液的
鉴别。脱落细胞和胸膜病理活检对明确肿瘤或结核有诊断价值。
5.影像学检查 胸部 X 线透视配合正侧位胸片,可发现被心、纵隔等掩盖的病变,并
能观察膈、心血管活动情况。高电压体层摄片和 CT 能进一步明确病变部位、性质以及有关
气管、支气管通畅程度。磁共振显像(MRI)对纵隔疾病和肺血栓栓塞症有较大帮助。肺血
管造影用于肺血栓栓塞症和各种先天性或获得性血管病变的诊断;支气管动脉造影和栓塞术
对咯血有较好的诊治价值。
6.支气管镜和胸腔镜 硬质支气管镜检查已被纤维支气管镜(纤支镜)所替代,前者
仅必要时才用于作气管内肿瘤或异物的摘除手术。纤支镜能深人亚段支气管,直接窥视黏膜
水肿、充血、溃疡、肉芽肿、新生物、异物等,作黏膜的刷检或钳检,进行组织学检查;并
可经纤支镜作支气管肺泡灌洗。灌洗液的微生物、细胞学、免疫学、生物化学等检查,有助
于明确病原和病理诊断;还可通过它取出异物、诊断咯血,经高频电刀、激光、微波及药物
注射治疗良、恶性肿瘤。借助纤支镜的引导还可作气管插管。胸腔镜已广泛应用于胸膜活检、
肺活检。
7.放射性核素扫描 应用 133氙或 99m锝-二乙三胺五乙酸(99mTc-DTPA)雾化吸人。99m锝
大颗粒人血清聚合清蛋白(99mTc-MAA)静脉注射对肺区域性通气/灌注情况、肺血栓栓塞症
和血流缺损,以及占位病变的诊断有帮助。67镓对间质性肺纤维化的肺泡炎、结节病和肺癌


Am 21.12.2017 um 02:26 schrieb Dan Liu:
Hi, all:
    I'm using pdfbox 2.0.8, the test pdf file can download from  http://proj.gz-yibo.com:2880/nk7.pdf

eg: 
a text line in page 19:
7.放射性核素扫描应用133 氙或99m 锝-二乙三胺五乙酸(99mTc-DTPA)雾化吸人。99m 锝
becomes:
133 99m 99m 99m
7.放射性核素扫描应用 氙或 锝-二乙三胺五乙酸(Tc-DTPA)雾化吸人。 锝


------------------
  With best regards


Daniel


------------------ Original ------------------
From:  "139250065";<139250065@qq.com>;
Date:  Wed, Dec 20, 2017 10:39 AM
To:  "users"<users@pdfbox.apache.org>;

Subject:  1 text line becomes 2 line after extraction



such as:
1 line: 肺具有广泛的呼吸面积,成人的总呼吸面积约有100m2(3 亿-7.5 亿肺泡),在呼吸过程中,
  ‍

  ‍

becomes 2 lines after extraction:
2
肺具有广泛的呼吸面积,成人的总呼吸面积约有100m(3 亿-7.5 亿肺泡),在呼吸过程中,

since y coordinate of char '2' is smaller than other chars. 


------------------


with best regards


daniel


--------------8F93F6F4A784BF9D3B1D3436 Content-Type: image/png; name="mcpblgjifigjdbbf.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="mcpblgjifigjdbbf.png" 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 cWrodAAAAABJRU5ErkJggg== --------------8F93F6F4A784BF9D3B1D3436-- --------------9E9620755E0FBAEEC8706711--